var su=Object.defineProperty;var uu=(t,e,n)=>e in t?su(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Gt=(t,e,n)=>uu(t,typeof e!="symbol"?e+"":e,n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))i(l);new MutationObserver(l=>{for(const r of l)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(l){const r={};return l.integrity&&(r.integrity=l.integrity),l.referrerPolicy&&(r.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?r.credentials="include":l.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(l){if(l.ep)return;l.ep=!0;const r=n(l);fetch(l.href,r)}})();/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const pn=globalThis,Vi=pn.trustedTypes,Ur=Vi?Vi.createPolicy("lit-html",{createHTML:t=>t}):void 0,fc="$lit$",St=`lit$${Math.random().toFixed(9).slice(2)}$`,Ac="?"+St,gu=`<${Ac}>`,Lt=document,En=()=>Lt.createComment(""),yn=t=>t===null||typeof t!="object"&&typeof t!="function",kl=Array.isArray,hu=t=>kl(t)||typeof(t==null?void 0:t[Symbol.iterator])=="function",Hi=`[ \f\r]`,gn=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Jr=/-->/g,xr=/>/g,Ut=RegExp(`>|${Hi}(?:([^\\s"'>=/]+)(${Hi}*=${Hi}*(?:[^ \f\r"'\`<>=]|("|')|))|$)`,"g"),wr=/'/g,kr=/"/g,pc=/^(?:script|style|textarea|title)$/i,Zc=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),D=Zc(1),be=Zc(2),Kt=Symbol.for("lit-noChange"),ae=Symbol.for("lit-nothing"),zr=new WeakMap,wt=Lt.createTreeWalker(Lt,129);function Gc(t,e){if(!kl(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ur!==void 0?Ur.createHTML(e):e}const bu=(t,e)=>{const n=t.length-1,i=[];let l,r=e===2?"":e===3?"":"",o=gn;for(let a=0;a"?(o=l??gn,u=-1):s[1]===void 0?u=-2:(u=o.lastIndex-s[2].length,d=s[1],o=s[3]===void 0?Ut:s[3]==='"'?kr:wr):o===kr||o===wr?o=Ut:o===Jr||o===xr?o=gn:(o=Ut,l=void 0);const g=o===Ut&&t[a+1].startsWith("/>")?" ":"";r+=o===gn?c+gu:u>=0?(i.push(d),c.slice(0,u)+fc+c.slice(u)+St+g):c+St+(u===-2?a:g)}return[Gc(t,r+(t[n]||"")+(e===2?"":e===3?"":"")),i]};let bl=class Xc{constructor({strings:e,_$litType$:n},i){let l;this.parts=[];let r=0,o=0;const a=e.length-1,c=this.parts,[d,s]=bu(e,n);if(this.el=Xc.createElement(d,i),wt.currentNode=this.el.content,n===2||n===3){const u=this.el.content.firstChild;u.replaceWith(...u.childNodes)}for(;(l=wt.nextNode())!==null&&c.length0){l.textContent=Vi?Vi.emptyScript:"";for(let g=0;g2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ae}_$AI(e,n=this,i,l){const r=this.strings;let o=!1;if(r===void 0)e=tn(this,e,n,0),o=!yn(e)||e!==this._$AH&&e!==Kt,o&&(this._$AH=e);else{const a=e;let c,d;for(e=r[0],c=0;c{const i=e;let l=i._$litPart$;return l===void 0&&(i._$litPart$=l=new zl(e.insertBefore(En(),null),null,void 0,{})),l._$AI(t),l},Zu=be` `,Gu=be` `,Xu=be` `,Iu=t=>be` `,Ru=be` `,Eu=be` `,Rc=(t=18)=>be` `;be` `;const yu=be` `,vu=be` `;be` `;be` `;be` `;be` `;be` `;const Su=(t=16)=>be` `,Cu=be` `,Wu=be` `,Bu=be` `,Nu=be` `,Fu=be` `;class Yu extends HTMLElement{constructor(){super(),this._checked=!1,this._disabled=!1,this._shadowRoot=this.attachShadow({mode:"open"}),this._render()}static get observedAttributes(){return["checked","disabled"]}connectedCallback(){this.hasAttribute("checked")?this._checked=this.getAttribute("checked")!=="false":this._checked=!1,this.hasAttribute("disabled")?this._disabled=this.getAttribute("disabled")!=="false":this._disabled=!1,this._render()}attributeChangedCallback(e,n,i){let l=!1;if(e==="checked"){const r=i!==null&&i!=="false";this._checked!==r&&(this._checked=r,l=!0)}else if(e==="disabled"){const r=i!==null&&i!=="false";this._disabled!==r&&(this._disabled=r,l=!0)}l&&this._render()}get checked(){return this._checked}set checked(e){e?this.setAttribute("checked",""):this.removeAttribute("checked")}get disabled(){return this._disabled}set disabled(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}_render(){const e=D`
${this._checked?Bu:Nu}
`;Wt(e,this._shadowRoot)}}class Ni extends HTMLElement{constructor(){super(),this._dialogElement=null,this._isOpen=!1,this._title="Dialog",this._isClosable=!0,this._shadowRoot=this.attachShadow({mode:"open"}),this._render()}static get observedAttributes(){return["open","title","closable","width"]}connectedCallback(){this.hasAttribute("open")?this._isOpen=!0:this._isOpen=!1,this._title=this.getAttribute("title")||this._title,this.hasAttribute("closable")?this._isClosable=this.getAttribute("closable")!=="false":this._isClosable=!0;const e=this.getAttribute("width");e?this.style.setProperty("--dynamic-dialog-width",e):this.style.removeProperty("--dynamic-dialog-width"),this._render(),this._dialogElement=this._shadowRoot.querySelector("dialog"),this._dialogElement&&(this._dialogElement.addEventListener("click",n=>{this._isClosable&&n.target===this._dialogElement&&this.close()}),this._dialogElement.addEventListener("close",()=>{this._isOpen&&(this._isOpen=!1,this.hasAttribute("open")&&this.removeAttribute("open"),this._dispatchCloseEvent())}),this._isOpen&&!this._dialogElement.open&&(this._dialogElement.showModal(),this._dispatchOpenEvent()))}disconnectedCallback(){}attributeChangedCallback(e,n,i){const l=this._isOpen;let r=!1;if(e==="open"){const o=i!==null;this._isOpen!==o&&(this._isOpen=o),this._dialogElement&&(this._isOpen?this._dialogElement.open||(this._dialogElement.showModal(),l||this._dispatchOpenEvent()):this._dialogElement.open&&this._dialogElement.close())}else if(e==="title"){const o=i||"Dialog";this._title!==o&&(this._title=o,r=!0)}else if(e==="closable"){const o=i!=="false";this._isClosable!==o&&(this._isClosable=o,r=!0)}else e==="width"&&(i!==null?this.style.setProperty("--dynamic-dialog-width",i):this.style.removeProperty("--dynamic-dialog-width"));r&&this._render()}show(){this._isOpen?this._dialogElement&&!this._dialogElement.open&&(this._dialogElement.showModal(),this._dispatchOpenEvent()):this.setAttribute("open","")}close(){this._isOpen?this.removeAttribute("open"):this._dialogElement&&this._dialogElement.open&&this._dialogElement.close()}_handleCloseButtonClick(){this.close()}_dispatchOpenEvent(){this.dispatchEvent(new CustomEvent("dialog-open",{bubbles:!0,composed:!0}))}_dispatchCloseEvent(){this.dispatchEvent(new CustomEvent("dialog-close",{bubbles:!0,composed:!0}))}_render(){const e=D`
${this._title}
${this._isClosable?D` `:""}
`;Wt(e,this._shadowRoot)}}class Ql extends HTMLElement{constructor(){super(),this.anchor=null,this.popupContent=null,this.isOpen=!1,this.scrollListener=null,this._ref=null,this._customClass="",this.mousePosition=null,this.gapSize=10,this.attachShadow({mode:"open"}),this.render()}static get observedAttributes(){return["open","ref","class"]}connectedCallback(){this.scrollListener=()=>{this.isOpen&&this.updatePosition()},window.addEventListener("scroll",this.scrollListener,!0),this._ref&&this._ref(this)}disconnectedCallback(){this.scrollListener&&window.removeEventListener("scroll",this.scrollListener,!0),this.destroy()}attributeChangedCallback(e,n,i){e==="open"?(this.isOpen=i!==null,this.render(),this.isOpen&&setTimeout(()=>this.updatePosition(),0)):e==="ref"||e==="class"&&(this._customClass=i||"",this.render())}set ref(e){this._ref=e,this.isConnected&&e(this)}set customClass(e){this._customClass=e,this.setAttribute("class",e),this.render()}get customClass(){return this._customClass}setAnchor(e){this.anchor=e,this.isOpen&&this.updatePosition()}open(e){if(this.isOpen=!0,this.setAttribute("open",""),e){this.mousePosition={x:e.clientX,y:e.clientY};const n=e.target;n&&this.setAnchor(n)}else this.mousePosition=null;this.render(),setTimeout(()=>this.updatePosition(),0)}close(){this.isOpen=!1,this.mousePosition=null,this.removeAttribute("open"),this.render()}updatePosition(){if(!this.popupContent)return;const e=this.popupContent.getBoundingClientRect();let n,i,l="bottom";if(this.anchor)n=this.anchor.getBoundingClientRect().bottom+this.gapSize;else if(this.mousePosition)n=this.mousePosition.y+this.gapSize;else{n=window.innerHeight/2-e.height/2,i=window.innerWidth/2-e.width/2,this.updatePopupStyles(n,i,l);return}if(this.mousePosition)i=this.mousePosition.x-e.width/2;else if(this.anchor){const r=this.anchor.getBoundingClientRect();i=r.left+r.width/2-e.width/2}else i=window.innerWidth/2-e.width/2;i+e.width>window.innerWidth&&(i=window.innerWidth-e.width-10),i<10&&(i=10),n+e.height>window.innerHeight&&(l="top",this.anchor?n=this.anchor.getBoundingClientRect().top-e.height-this.gapSize:this.mousePosition&&(n=this.mousePosition.y-e.height-this.gapSize),n<0&&(n=window.innerHeight/2-e.height/2,l="bottom")),this.updatePopupStyles(n,i,l)}updatePopupStyles(e,n,i){this.popupContent&&(this.popupContent.style.position="fixed",this.popupContent.style.top=`${e}px`,this.popupContent.style.left=`${n}px`,this.popupContent.setAttribute("data-position",i))}render(){const e=D` `;Wt(e,this.shadowRoot),this.popupContent=this.shadowRoot.querySelector(".popup-content")}destroy(){Wt(ae,this.shadowRoot)}}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Ll={ATTRIBUTE:1,CHILD:2},Kl=t=>(...e)=>({_$litDirective$:t,values:e});let Tl=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,n,i){this._$Ct=e,this._$AM=n,this._$Ci=i}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const $e=Kl(class extends Tl{constructor(t){var e;if(super(t),t.type!==Ll.ATTRIBUTE||t.name!=="class"||((e=t.strings)==null?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(t,[e]){var i,l;if(this.st===void 0){this.st=new Set,t.strings!==void 0&&(this.nt=new Set(t.strings.join(" ").split(/\s/).filter((r=>r!==""))));for(const r in e)e[r]&&!((i=this.nt)!=null&&i.has(r))&&this.st.add(r);return this.render(e)}const n=t.element.classList;for(const r of this.st)r in e||(n.remove(r),this.st.delete(r));for(const r in e){const o=!!e[r];o===this.st.has(r)||(l=this.nt)!=null&&l.has(r)||(o?(n.add(r),this.st.add(r)):(n.remove(r),this.st.delete(r)))}return Kt}});/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Uu=t=>t.strings===void 0;/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Zn=(t,e)=>{var i;const n=t._$AN;if(n===void 0)return!1;for(const l of n)(i=l._$AO)==null||i.call(l,e,!1),Zn(l,e);return!0},mi=t=>{let e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while((n==null?void 0:n.size)===0)},Ec=t=>{for(let e;e=t._$AM;t=e){let n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(t))break;n.add(t),wu(e)}};function Ju(t){this._$AN!==void 0?(mi(this),this._$AM=t,Ec(this)):this._$AM=t}function xu(t,e=!1,n=0){const i=this._$AH,l=this._$AN;if(l!==void 0&&l.size!==0)if(e)if(Array.isArray(i))for(let r=n;r{t.type==Ll.CHILD&&(t._$AP??(t._$AP=xu),t._$AQ??(t._$AQ=Ju))};let ku=class extends Tl{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,n,i){super._$AT(e,n,i),Ec(this),this.isConnected=e._$AU}_$AO(e,n=!0){var i,l;e!==this.isConnected&&(this.isConnected=e,e?(i=this.reconnected)==null||i.call(this):(l=this.disconnected)==null||l.call(this)),n&&(Zn(this,e),mi(this))}setValue(e){if(Uu(this._$Ct))this._$Ct._$AI(e,this);else{const n=[...this._$Ct._$AH];n[this._$Ci]=e,this._$Ct._$AI(n,this,0)}}disconnected(){}reconnected(){}};/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const zu=()=>new Qu;let Qu=class{};const _i=new WeakMap,Tt=Kl(class extends ku{render(t){return ae}update(t,[e]){var i;const n=e!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=e,this.ht=(i=t.options)==null?void 0:i.host,this.rt(this.ct=t.element)),ae}rt(t){if(this.isConnected||(t=void 0),typeof this.G=="function"){const e=this.ht??globalThis;let n=_i.get(e);n===void 0&&(n=new WeakMap,_i.set(e,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,t),t!==void 0&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){var t,e;return typeof this.G=="function"?(t=_i.get(this.ht??globalThis))==null?void 0:t.get(this.G):(e=this.G)==null?void 0:e.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});class Lu extends HTMLElement{constructor(){super(),this.textareaRef=zu(),this._value="",this._autoResize=!1,this._autoFocus=!1,this._placeholder="",this._disabled=!1,this.adjustHeight=()=>{const e=this.textareaRef.value;if(!e||!this._autoResize)return;const n=e.scrollTop,i=window.getComputedStyle(e),l=parseInt(i.borderTopWidth,10)||0,r=parseInt(i.borderBottomWidth,10)||0,o=e.cloneNode(!0);o.style.position="absolute",o.style.visibility="hidden",o.style.height="auto",o.style.width=i.width,o.style.minHeight=i.minHeight,o.style.maxHeight=i.maxHeight,o.style.padding=i.padding,o.style.font=i.font,o.style.lineHeight=i.lineHeight,o.style.letterSpacing=i.letterSpacing,o.style.wordSpacing=i.wordSpacing,o.style.whiteSpace=i.whiteSpace,o.style.wordBreak=i.wordBreak,o.style.boxSizing=i.boxSizing,document.body.appendChild(o);let a=o.scrollHeight;i.boxSizing!=="border-box"&&(a+=l+r),a=o.scrollHeight+l+r,document.body.removeChild(o);const c=parseFloat(i.minHeight)||0,d=parseFloat(i.maxHeight)||1/0;a=Math.max(c,Math.min(a,d)),e.style.height=`${a}px`,e.scrollTop=n},this.handleInput=e=>{const n=e.target;this._value=n.value,this._autoResize&&this.adjustHeight(),this.dispatchEvent(new CustomEvent("lit-textarea-input",{detail:{value:this._value},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))}}static get observedAttributes(){return["auto-resize","value","autofocus","class","placeholder","disabled","rows","cols"]}connectedCallback(){if(this._render(),this.textareaRef.value&&(this._autoResize&&(this._setupAutoResize(),this.adjustHeight()),this._autoFocus)){this.textareaRef.value.focus();const e=this.textareaRef.value.value.length;this.textareaRef.value.setSelectionRange(e,e)}}disconnectedCallback(){this._teardownAutoResize()}attributeChangedCallback(e,n,i){if(n===i&&e!=="disabled"&&e!=="autofocus"&&e!=="auto-resize"&&(e==="disabled"&&this._disabled===(i!==null)||e==="autofocus"&&this._autoFocus===(i!==null)||e==="auto-resize"&&this._autoResize===(i!==null)||e!=="disabled"&&e!=="auto-focus"&&e!=="auto-resize"))return;let l=!0;switch(e){case"auto-resize":const r=i!==null;this._autoResize!==r&&(this._autoResize=r,this.textareaRef.value&&(this._autoResize?(this._setupAutoResize(),this.adjustHeight()):(this._teardownAutoResize(),this.textareaRef.value.style.height="")));break;case"value":this._value!==(i||"")&&(this._value=i||"",this.textareaRef.value&&this.textareaRef.value.value!==this._value&&(this.textareaRef.value.value=this._value),this._autoResize&&Promise.resolve().then(()=>this.adjustHeight()));break;case"autofocus":this._autoFocus=i!==null,l=!1;break;case"class":l=!1;break;case"placeholder":this._placeholder=i||"";break;case"disabled":this._disabled=i!==null;break;case"rows":this._rows=i?parseInt(i,10):void 0;break;case"cols":this._cols=i?parseInt(i,10):void 0;break;default:l=!1}l&&this._render()}_setupAutoResize(){!this.textareaRef.value||this.resizeObserver||(window.addEventListener("resize",this.adjustHeight),this.resizeObserver=new ResizeObserver(this.adjustHeight),this.resizeObserver.observe(this.textareaRef.value))}_teardownAutoResize(){window.removeEventListener("resize",this.adjustHeight),this.resizeObserver&&(this.textareaRef.value&&this.resizeObserver.unobserve(this.textareaRef.value),this.resizeObserver.disconnect(),this.resizeObserver=void 0)}getInternalTextareaClasses(){return{"internal-textarea":!0,"auto-resize-active":this._autoResize}}_render(){const e=D` `;Wt(e,this),this.textareaRef.value&&this.textareaRef.value.value!==this._value&&(this.textareaRef.value.value=this._value),this._autoFocus&&setTimeout(()=>{var n;(n=this.textareaRef.value)==null||n.focus()},0)}}class Ht{constructor(e,n=!0){this.container=e,n&&this.render()}render(){Wt(this.template,this.container)}destroy(){Wt(ae,this.container)}}class Ku extends Ht{constructor(e,n){super(e,!1),this.container=e,this.conf=n,this._destroyPromise=new Promise(i=>{this._resolveDestroyPromise=i})}get template(){const{variant:e,title:n}=this.conf,i=`toast toast--${e}`,l=be` `;return D`
${e==="success"?l:""}
${n}
`}show(){this.render();const e=this.container.querySelector(".toast");e&&(requestAnimationFrame(()=>{e.classList.add("is-visible")}),setTimeout(()=>{this.destroy()},3e3))}destroy(){const e=this.container.querySelector(".toast");e?(e.classList.remove("is-visible"),e.addEventListener("transitionend",()=>{super.destroy(),e.parentNode&&e.parentNode.removeChild(e),this._resolveDestroyPromise()},{once:!0})):(super.destroy(),this._resolveDestroyPromise())}get destroyed(){return this._destroyPromise}}const Tu="toast-manager-container";class Mu{constructor(){this.currentToasts=[]}initRoot(e){this.rootContainer=document.createElement("div"),this.rootContainer.id=Tu,e.appendChild(this.rootContainer),this.rootContainer.style.cssText=` position: fixed; top: 20px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column-reverse; /* 新的 Toast 在底部,旧的向上推 */ align-items: center; z-index: 1000; pointer-events: none; /* 允许点击穿透 Toast 容器 */ `}showToast(e){const n=document.createElement("div");n.style.pointerEvents="auto",this.rootContainer.prepend(n);const i=new Ku(n,e);this.currentToasts.push(i),i.show(),i.destroyed.then(()=>{this.removeToast(i)})}removeToast(e){this.currentToasts=this.currentToasts.filter(n=>n!==e),e.container&&e.container.parentNode&&e.container.parentNode.removeChild(e.container)}clearAllToasts(){this.currentToasts.forEach(e=>e.destroy()),this.currentToasts=[]}}const zt=new Mu;class Hu{setDialogRoot(e){this.dialogRoot=e}getDialogRoot(){return this.dialogRoot??document.body}}const yc=new Hu,fi="content-root",Du=`#${fi} { /* Text Colors */ --text-primary: #34322d; --text-secondary: #535350; --text-tertiary: #858481; --text-disable: #b9b9b7; --text-brand: #0081f2; --text-onblack: #ffffff; --text-white: #ffffff; --text-white-tsp: #ffffff99; --theme-text-primary: #262626; --logo-color: #34322d; /* Background Colors */ --background-gray-main: #f8f8f7; --background-white-main: #ffffff; --background-menu-white: #ffffff; --background-tsp-menu-white: #ffffff14; --background-tsp-card-gray: #37352f0a; --background-nav: #ebebeb; --background-card: #fafafa; --background-mask: #000000a6; --background-card-gray: #fafafa; --background-preview-mask: #000000d9; /* Border Colors */ --border-main: #0000000f; --border-white: #ffffff33; --border-btn-main: #0000001f; --border-input-active: #0081f280; --border-light: #0000000a; --border-dark: #0000001f; --border-primary: #4f59661f; /* Icon Colors */ --icon-primary: #34322d; --icon-secondary: #535350; --icon-tertiary: #858481; --icon-disable: #b9b9b7; --icon-brand: #0081f2; --icon-onblack: #ffffff; --icon-white: #ffffff; --icon-white-tsp: #ffffff99; /* Function Colors */ --function-error: #f25a5a; --function-success: #25ba3b; --function-warning: #efa201; --function-error-tsp: #f25a5a14; --function-warning-tsp: #efa2011f; /* Fill Colors */ --fill-blue: #0081f214; --fill-tsp-white-main: #37352f0f; --fill-tsp-white-dark: #37352f14; --fill-tsp-white-light: #37352f0a; --fill-tsp-gray-dark: #37352f14; --fill-tsp-gray-main: #37352f0a; --fill-input-chat: #ffffff; --fill-white: #ffffff; --fill-black: #28282973; --fill-gray: #f8f8f7; /* Button Colors */ --Button-primary-black: #1a1a19; --Button-primary-white: #ffffff; --Button-primary-brand: #0081f2; --Button-primary-brand-disabled: #7cbdf5; --Button-secondary-brand: #0081f21a; --Button-secondary-error-border: #f25a5a80; --Button-secondary-error-fill: #ffffff; --Button-secondary-main: #ffffff; --Button-secondary-gray: #37352f0f; /* Tab Colors */ --tab-fill: rgba(0, 0, 0, 0.04); --tab-active-black: #1a1a19; /* Shadow Colors */ --shadow-L: #0000003d; --shadow-M: #0000001f; --shadow-S: #00000014; --shadow-XS: #0000000f; --shadows-inner-0: #ffffff00; --shadows-inner-1: #16191d14; --shadows-inner-2: #16191d1f; --shadows-drop-1: #16191d08; --shadows-drop-2: #16191d0a; --shadows-drop-3: #16191d14; --shadows-drop-4: #16191d1f; --shadows-highlight-1: #cce5ff; --shadows-highlight-2: #1487fa; --shadows-danger-1: #fed7d7; --shadows-danger-2: #ee3a3a; --shadows-card-border: #16191d1f; --shadows-card-border-2: #16191d1f; /* Tooltips */ --Tooltips-main: #000000e6; /* Gradual Colors */ --gradual-white-0: #ffffff00; --gradual-gray-100: #ffffff00; --gradual-gray-0: #ffffff00; --gradual-dark-20: #00000033; /** input */ --fill-input-chat: #ffffff; /** gradient */ --gradient-bg-mask-gray-0: #eaeaeb00; } #${fi}.dark { /* Text Colors */ --text-primary: #dadada; --text-secondary: #acacac; --text-tertiary: #7f7f7f; --text-disable: #5f5f5f; --text-brand: #1a93fe; --text-onblack: #000000e6; --text-white: #ffffff; --text-white-tsp: #ffffff99; --theme-text-primary: #dbdbdb; --logo-color: #dadada; /* Background Colors */ --background-gray-main: #272728; --background-white-main: #161618; --background-menu-white: #383739; --background-tsp-menu-white: #ffffff0f; --background-tsp-card-gray: #ffffff0f; --background-nav: #212122; --background-card: #383739; --background-mask: #000000a6; --background-card-gray: #383739; --background-preview-mask: #000000d9; /* Border Colors */ --border-main: #ffffff14; --border-white: #00000014; --border-btn-main: #ffffff1a; --border-input-active: #1a93fe80; --border-light: #ffffff0f; --border-dark: #ffffff29; --border-primary: #56565f52; /* Icon Colors */ --icon-primary: #dadada; --icon-secondary: #acacac; --icon-tertiary: #7f7f7f; --icon-disable: #5f5f5f; --icon-brand: #1a93fe; --icon-onblack: #000000d9; --icon-white: #ffffff; --icon-white-tsp: #ffffff99; /* Function Colors */ --function-error: #eb4d4d; --function-success: #5eb92d; --function-warning: #ffbf36; --function-error-tsp: #eb4d4d14; --function-warning-tsp: #ffbf361f; /* Fill Colors */ --fill-blue: #1a93fe1f; --fill-tsp-white-main: #ffffff0f; --fill-tsp-white-dark: #ffffff1f; --fill-tsp-white-light: #ffffff0a; --fill-tsp-gray-dark: #00000047; --fill-tsp-gray-main: #00000033; --fill-input-chat: #363537; --fill-white: #3e3d3e; --fill-black: #28282973; --fill-gray: #444345; /* Button Colors */ --Button-primary-black: #ffffff; --Button-primary-white: #ffffff14; --Button-primary-brand: #1a93fe; --Button-primary-brand-disabled: #215d93; --Button-secondary-brand: #1a93fe1f; --Button-secondary-error-border: #eb4d4d29; --Button-secondary-error-fill: #eb4d4d1f; --Button-secondary-main: #ffffff1f; --Button-secondary-gray: #ffffff0f; /* Tab Colors */ --tab-fill: rgba(255, 255, 255, 0.06); --tab-active-black: #ffffff; /* Shadow Colors */ --shadow-L: #00000066; --shadow-M: #0000003d; --shadow-S: #00000029; --shadow-XS: #0000001f; --shadows-inner-0: #ffffff1f; --shadows-inner-1: #ffffff14; --shadows-inner-2: #ffffff1f; --shadows-drop-1: #0000001f; --shadows-drop-2: #00000033; --shadows-drop-3: #00000047; --shadows-drop-4: #0000005c; --shadows-highlight-1: #1b61a6; --shadows-highlight-2: #1487fa; --shadows-danger-1: #8f1919; --shadows-danger-2: #ee3a3a; --shadows-card-border: #ffffff1f; --shadows-card-border-2: #ffffff00; /* Tooltips */ --Tooltips-main: #000000e6; /* Gradual Colors */ --gradual-white-0: #27272800; --gradual-gray-100: #444345; --gradual-gray-0: #44434500; --gradual-dark-20: #ffffff33; /** input */ --fill-input-chat: #363537; /** gradient */ --gradient-bg-mask-gray-0: #1E1E1E00; } `,_u=`/* CSS Reset */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; } img, picture, video, canvas, svg { display: block; max-width: 100%; } input, button, textarea, select { font: inherit; } p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; } a { text-decoration: none; color: inherit; } button { background: none; border: none; cursor: pointer; } `,ju=` .tooltip-trigger-css { position: relative; } .tooltip-trigger-css::after { content: attr(data-tooltip); display: flex; justify-content: center; align-items: center; max-width: 280px; min-width: 40px; padding: 10px; background: rgba(0, 0, 0, 0.90); border-radius: 12px; color: var(--text-white); font-size: 12px; line-height: 16px; word-wrap: break-word; white-space: pre-wrap; text-align: left; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%) translateY(-8px); z-index: 10; width:max-content; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out, visibility 0s linear 0.2s; } .tooltip-trigger-css.tooltip-trigger-right-css::after { left: unset; right: 0; transform: translateX(0) translateY(-8px); } .tooltip-trigger-css.tooltip-trigger-right-css:hover::after { left: unset; right: 0; transform: translateX(0) translateY(-8px); } /* 当触发元素被 hover 或 focus 时显示 tooltip */ .tooltip-trigger-css:hover::after, .tooltip-trigger-css:focus::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(-10px); /* 轻微向上移动的动画 */ transition-delay: 0s, 0s, 0s; /* 确保立即显示,覆盖 visibility 的延迟 */ } /* 确保非交互元素可聚焦,以便 tooltip 可以通过键盘触发 */ .tooltip-trigger-css:not(button):not(input):not(a[href]) { outline: none; /* 移除默认轮廓,如果需要自定义焦点样式 */ } .tooltip-trigger-css:focus { /* 自定义焦点样式 (可选) */ box-shadow: 0 0 0 2px skyblue; }`,Pu=` ${Du} ${_u} ${ju} * { box-sizing: border-box; } p { margin-block-start:0; margin-block-end:0; } #${fi} { font-family: 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif } `,Ou={snakeToCamel:t=>t.replace(/(_[a-z])/g,e=>e.toUpperCase().replace("_","")),camelToSnake:t=>t.replace(/([A-Z])/g,e=>`_${e.toLowerCase()}`).replace(/^_/,"")};function $u(t,e){return Ou.camelToSnake(e)}function Ai(t,e){return e&&(Array.isArray(e)?e.map(n=>Ai(t,n)):typeof e=="object"?Object.keys(e).reduce((n,i)=>{const l=e[i],r=$u(t,i);return n[r]=Ai(t,l),n},{}):e)}var pi=(t=>(t.UNKNOWN="UsageStatus_Unknown",t.BANNER_ENABLE_AUTOTOPUP="UsageStatus_Banner_Enable_AutoTopup",t.BANNER_ADJUST_SPENDING_LIMIT="UsageStatus_Banner_Adjust_Spending_Limit",t.UNAVAILABLE="UsageStatus_Unavailable",t))(pi||{});class qu{get spaceId(){var e;return(e=window.__manus_space_editor_info)==null?void 0:e.spaceId}get apiHost(){var e;return((e=window.__manus__global_env)==null?void 0:e.apiHost)??"https://api.manus.im"}get host(){var e;return((e=window.__manus__global_env)==null?void 0:e.host)??"https://manus.im"}get patchList(){var e;return((e=window.__manus_space_editor_info)==null?void 0:e.patchList)??[]}get amplitudeKey(){return window.__manus__global_env.amplitudeKey??""}get hideBadge(){var e;return((e=window.__manus_space_editor_info)==null?void 0:e.hideBadge)??!1}get sessionId(){var e;return((e=window.__manus_space_editor_info)==null?void 0:e.sessionId)??""}get isWebDev(){var e;return((e=window.__manus_space_editor_info)==null?void 0:e.isWebDev)??!1}get usageStatus(){var e;return((e=window.__manus_space_editor_info)==null?void 0:e.usageStatus)??pi.UNKNOWN}}const ce=new qu;var Vl=function(t,e){return Vl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&(n[l]=i[l])},Vl(t,e)};function Me(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Vl(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var N=function(){return N=Object.assign||function(e){for(var n,i=1,l=arguments.length;i0&&r[r.length-1])&&(d[0]===6||d[0]===2)){n=0;continue}if(d[0]===3&&(!r||d[1]>r[0]&&d[1]=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function U(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var i=n.call(t),l,r=[],o;try{for(;(e===void 0||e-- >0)&&!(l=i.next()).done;)r.push(l.value)}catch(a){o={error:a}}finally{try{l&&!l.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return r}function _(t,e,n){if(n||arguments.length===2)for(var i=0,l=e.length,r;i1||c(g,m)})},b&&(l[g]=b(l[g])))}function c(g,b){try{d(i[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof $t?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}}function tg(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof H=="function"?H(t):t[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(r){n[r]=t[r]&&function(o){return new Promise(function(a,c){o=t[r](o),l(a,c,o.done,o.value)})}}function l(r,o,a,c){Promise.resolve(c).then(function(d){r({value:d,done:a})},o)}}var Pt;(function(t){t.SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll"})(Pt||(Pt={}));var Bt;(function(t){t.IDENTIFY="$identify",t.GROUP_IDENTIFY="$groupidentify",t.REVENUE="revenue_amount"})(Bt||(Bt={}));var Qr="-",Fi="AMP",ng="".concat(Fi,"_unsent"),vc="$default_instance",Sc="https://api2.amplitude.com/2/httpapi",ig="https://api.eu.amplitude.com/2/httpapi",lg="https://api2.amplitude.com/batch",rg="https://api.eu.amplitude.com/batch",og="utm_campaign",ag="utm_content",cg="utm_id",dg="utm_medium",sg="utm_source",ug="utm_term",Lr="dclid",Kr="fbclid",Tr="gbraid",Mr="gclid",Hr="ko_click_id",Dr="li_fat_id",_r="msclkid",jr="rdt_cid",Pr="ttclid",Or="twclid",$r="wbraid",Ml={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rdt_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},Zi=["access-control-allow-origin","access-control-allow-credentials","access-control-expose-headers","access-control-max-age","access-control-allow-methods","access-control-allow-headers","accept-patch","accept-ranges","age","allow","alt-svc","cache-control","connection","content-disposition","content-encoding","content-language","content-length","content-location","content-md5","content-range","content-type","date","delta-base","etag","expires","im","last-modified","link","location","permanent","p3p","pragma","proxy-authenticate","public-key-pins","retry-after","server","status","strict-transport-security","trailer","transfer-encoding","tk","upgrade","vary","via","warning","www-authenticate","x-b3-traceid","x-frame-options"],gg=["authorization","cookie","set-cookie"],hg=1e3,fl=function(t){if(Object.keys(t).length>hg)return!1;for(var e in t){var n=t[e];if(!Cc(e,n))return!1}return!0},Cc=function(t,e){var n,i;if(typeof t!="string")return!1;if(Array.isArray(e)){var l=!0;try{for(var r=H(e),o=r.next();!o.done;o=r.next()){var a=o.value;if(Array.isArray(a))return!1;if(typeof a=="object")l=l&&fl(a);else if(!["number","string"].includes(typeof a))return!1;if(!l)return!1}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}}else{if(e==null)return!1;if(typeof e=="object")return fl(e);if(!["number","string","boolean"].includes(typeof e))return!1}return!0},nn=(function(){function t(){this._propertySet=new Set,this._properties={}}return t.prototype.getUserProperties=function(){return N({},this._properties)},t.prototype.set=function(e,n){return this._safeSet(re.SET,e,n),this},t.prototype.setOnce=function(e,n){return this._safeSet(re.SET_ONCE,e,n),this},t.prototype.append=function(e,n){return this._safeSet(re.APPEND,e,n),this},t.prototype.prepend=function(e,n){return this._safeSet(re.PREPEND,e,n),this},t.prototype.postInsert=function(e,n){return this._safeSet(re.POSTINSERT,e,n),this},t.prototype.preInsert=function(e,n){return this._safeSet(re.PREINSERT,e,n),this},t.prototype.remove=function(e,n){return this._safeSet(re.REMOVE,e,n),this},t.prototype.add=function(e,n){return this._safeSet(re.ADD,e,n),this},t.prototype.unset=function(e){return this._safeSet(re.UNSET,e,Qr),this},t.prototype.clearAll=function(){return this._properties={},this._properties[re.CLEAR_ALL]=Qr,this},t.prototype._safeSet=function(e,n,i){if(this._validate(e,n,i)){var l=this._properties[e];return l===void 0&&(l={},this._properties[e]=l),l[n]=i,this._propertySet.add(n),!0}return!1},t.prototype._validate=function(e,n,i){return this._properties[re.CLEAR_ALL]!==void 0||this._propertySet.has(n)?!1:e===re.ADD?typeof i=="number":e!==re.UNSET&&e!==re.REMOVE?Cc(n,i):!0},t})(),re;(function(t){t.SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll"})(re||(re={}));var bg=[re.CLEAR_ALL,re.UNSET,re.SET,re.SET_ONCE,re.ADD,re.APPEND,re.PREPEND,re.PREINSERT,re.POSTINSERT,re.REMOVE],Vg="Event tracked successfully",mg="Unexpected error occurred",fg="Event rejected due to exceeded retry count",Ag="Event skipped due to optOut config",pg="Event rejected due to missing API key",Zg="Invalid API key",Gg="Client not initialized",Xe;(function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"})(Xe||(Xe={}));var qt=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Xe.Unknown),{event:t,code:e,message:n}},Fe=function(){var t="ampIntegrationContext";if(typeof globalThis<"u"&&typeof globalThis[t]<"u")return globalThis[t];if(typeof globalThis<"u")return globalThis;if(typeof window<"u")return window;if(typeof self<"u")return self;if(typeof global<"u")return global},Xg=function(t){return t?(t^Math.random()*16>>t/4).toString(16):(String(1e7)+String(-1e3)+String(-4e3)+String(-8e3)+String(-1e11)).replace(/[018]/g,Ft)},qr=_([],U(Array(256).keys()),!1).map(function(t){return t.toString(16).padStart(2,"0")}),Ft=function(t){var e,n=Fe();if(!(!((e=n==null?void 0:n.crypto)===null||e===void 0)&&e.getRandomValues))return Xg(t);var i=n.crypto.getRandomValues(new Uint8Array(16));return i[6]=i[6]&15|64,i[8]=i[8]&63|128,_([],U(i.entries()),!1).map(function(l){var r=U(l,2),o=r[0],a=r[1];return[4,6,8,10].includes(o)?"-".concat(qr[a]):qr[a]}).join("")},Ig=(function(){function t(e){this.client=e,this.queue=[],this.applying=!1,this.plugins=[]}return t.prototype.register=function(e,n){var i,l;return W(this,void 0,void 0,function(){return C(this,function(r){switch(r.label){case 0:return this.plugins.some(function(o){return o.name===e.name})?(this.loggerProvider.warn("Plugin with name ".concat(e.name," already exists, skipping registration")),[2]):(e.name===void 0&&(e.name=Ft(),this.loggerProvider.warn(`Plugin name is undefined. Generating a random UUID for plugin name: `.concat(e.name,`. Set a name for the plugin to prevent it from being added multiple times.`))),e.type=(i=e.type)!==null&&i!==void 0?i:"enrichment",[4,(l=e.setup)===null||l===void 0?void 0:l.call(e,n,this.client)]);case 1:return r.sent(),this.plugins.push(e),[2]}})})},t.prototype.deregister=function(e,n){var i;return W(this,void 0,void 0,function(){var l,r;return C(this,function(o){switch(o.label){case 0:return l=this.plugins.findIndex(function(a){return a.name===e}),l===-1?(n.loggerProvider.warn("Plugin with name ".concat(e," does not exist, skipping deregistration")),[2]):(r=this.plugins[l],this.plugins.splice(l,1),[4,(i=r.teardown)===null||i===void 0?void 0:i.call(r)]);case 1:return o.sent(),[2]}})})},t.prototype.reset=function(e){this.applying=!1;var n=this.plugins;n.map(function(i){var l;return(l=i.teardown)===null||l===void 0?void 0:l.call(i)}),this.plugins=[],this.client=e},t.prototype.push=function(e){var n=this;return new Promise(function(i){n.queue.push([e,i]),n.scheduleApply(0)})},t.prototype.scheduleApply=function(e){var n=this;this.applying||(this.applying=!0,setTimeout(function(){n.apply(n.queue.shift()).then(function(){n.applying=!1,n.queue.length>0&&n.scheduleApply(0)})},e))},t.prototype.apply=function(e){return W(this,void 0,void 0,function(){var n,i,l,r,o,a,c,g,b,d,s,u,h,g,b,m,f,p,A,X,y,I;return C(this,function(S){switch(S.label){case 0:if(!e)return[2];n=U(e,1),i=n[0],l=U(e,2),r=l[1],this.loggerProvider.log("Timeline.apply: Initial event",i),o=this.plugins.filter(function(G){return G.type==="before"}),S.label=1;case 1:S.trys.push([1,6,7,8]),a=H(o),c=a.next(),S.label=2;case 2:return c.done?[3,5]:(g=c.value,g.execute?[4,g.execute(N({},i))]:[3,4]);case 3:if(b=S.sent(),b===null)return this.loggerProvider.log("Timeline.apply: Event filtered out by before plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(i))),r({event:i,code:0,message:""}),[2];i=b,this.loggerProvider.log("Timeline.apply: Event after before plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(i))),S.label=4;case 4:return c=a.next(),[3,2];case 5:return[3,8];case 6:return d=S.sent(),A={error:d},[3,8];case 7:try{c&&!c.done&&(X=a.return)&&X.call(a)}finally{if(A)throw A.error}return[7];case 8:s=this.plugins.filter(function(G){return G.type==="enrichment"||G.type===void 0}),S.label=9;case 9:S.trys.push([9,14,15,16]),u=H(s),h=u.next(),S.label=10;case 10:return h.done?[3,13]:(g=h.value,g.execute?[4,g.execute(N({},i))]:[3,12]);case 11:if(b=S.sent(),b===null)return this.loggerProvider.log("Timeline.apply: Event filtered out by enrichment plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(i))),r({event:i,code:0,message:""}),[2];i=b,this.loggerProvider.log("Timeline.apply: Event after enrichment plugin '".concat(String(g.name),"', event: ").concat(JSON.stringify(i))),S.label=12;case 12:return h=u.next(),[3,10];case 13:return[3,16];case 14:return m=S.sent(),y={error:m},[3,16];case 15:try{h&&!h.done&&(I=u.return)&&I.call(u)}finally{if(y)throw y.error}return[7];case 16:return f=this.plugins.filter(function(G){return G.type==="destination"}),this.loggerProvider.log("Timeline.apply: Final event before destinations, event: ".concat(JSON.stringify(i))),p=f.map(function(G){var B=N({},i);return G.execute(B).catch(function(v){return qt(B,0,String(v))})}),Promise.all(p).then(function(G){var B=U(G,1),v=B[0],J=v||qt(i,100,"Event not tracked, no destination plugins on the instance");r(J)}),[2]}})})},t.prototype.flush=function(){return W(this,void 0,void 0,function(){var e,n,i,l=this;return C(this,function(r){switch(r.label){case 0:return e=this.queue,this.queue=[],[4,Promise.all(e.map(function(o){return l.apply(o)}))];case 1:return r.sent(),n=this.plugins.filter(function(o){return o.type==="destination"}),i=n.map(function(o){return o.flush&&o.flush()}),[4,Promise.all(i)];case 2:return r.sent(),[2]}})})},t.prototype.onIdentityChanged=function(e){this.plugins.forEach(function(n){var i;(i=n.onIdentityChanged)===null||i===void 0||i.call(n,e)})},t.prototype.onSessionIdChanged=function(e){this.plugins.forEach(function(n){var i;(i=n.onSessionIdChanged)===null||i===void 0||i.call(n,e)})},t.prototype.onOptOutChanged=function(e){this.plugins.forEach(function(n){var i;(i=n.onOptOutChanged)===null||i===void 0||i.call(n,e)})},t})(),Rg=function(t,e,n){var i=typeof t=="string"?{event_type:t}:t;return N(N(N({},i),n),e&&{event_properties:e})},Wc=function(t,e){var n=N(N({},e),{event_type:Bt.IDENTIFY,user_properties:t.getUserProperties()});return n},Eg=function(t,e,n,i){var l,r=N(N({},i),{event_type:Bt.GROUP_IDENTIFY,group_properties:n.getUserProperties(),groups:(l={},l[t]=e,l)});return r},yg=function(t,e,n){var i,l=new nn;l.set(t,e);var r=N(N({},n),{event_type:Bt.IDENTIFY,user_properties:l.getUserProperties(),groups:(i={},i[t]=e,i)});return r},vg=function(t,e){return N(N({},e),{event_type:Bt.REVENUE,event_properties:t.getEventProperties()})},Oe=function(t){return{promise:t||Promise.resolve()}},Sg=(function(){function t(e){e===void 0&&(e="$default"),this.initializing=!1,this.isReady=!1,this.q=[],this.dispatchQ=[],this.logEvent=this.track.bind(this),this.timeline=new Ig(this),this.name=e}return t.prototype._init=function(e){return W(this,void 0,void 0,function(){return C(this,function(n){switch(n.label){case 0:return this.config=e,this.timeline.reset(this),this.timeline.loggerProvider=this.config.loggerProvider,[4,this.runQueuedFunctions("q")];case 1:return n.sent(),this.isReady=!0,[2]}})})},t.prototype.runQueuedFunctions=function(e){return W(this,void 0,void 0,function(){var n,i,l,r,o,a,c,d;return C(this,function(s){switch(s.label){case 0:n=this[e],this[e]=[],s.label=1;case 1:s.trys.push([1,8,9,10]),i=H(n),l=i.next(),s.label=2;case 2:return l.done?[3,7]:(r=l.value,o=r(),o&&"promise"in o?[4,o.promise]:[3,4]);case 3:return s.sent(),[3,6];case 4:return[4,o];case 5:s.sent(),s.label=6;case 6:return l=i.next(),[3,2];case 7:return[3,10];case 8:return a=s.sent(),c={error:a},[3,10];case 9:try{l&&!l.done&&(d=i.return)&&d.call(i)}finally{if(c)throw c.error}return[7];case 10:return this[e].length?[4,this.runQueuedFunctions(e)]:[3,12];case 11:s.sent(),s.label=12;case 12:return[2]}})})},t.prototype.track=function(e,n,i){var l=Rg(e,n,i);return Oe(this.dispatch(l))},t.prototype.identify=function(e,n){var i=Wc(e,n);return Oe(this.dispatch(i))},t.prototype.groupIdentify=function(e,n,i,l){var r=Eg(e,n,i,l);return Oe(this.dispatch(r))},t.prototype.setGroup=function(e,n,i){var l=yg(e,n,i);return Oe(this.dispatch(l))},t.prototype.revenue=function(e,n){var i=vg(e,n);return Oe(this.dispatch(i))},t.prototype.add=function(e){return this.isReady?this._addPlugin(e):(this.q.push(this._addPlugin.bind(this,e)),Oe())},t.prototype._addPlugin=function(e){return Oe(this.timeline.register(e,this.config))},t.prototype.remove=function(e){return this.isReady?this._removePlugin(e):(this.q.push(this._removePlugin.bind(this,e)),Oe())},t.prototype._removePlugin=function(e){return Oe(this.timeline.deregister(e,this.config))},t.prototype.dispatchWithCallback=function(e,n){if(!this.isReady)return n(qt(e,0,Gg));this.process(e).then(n)},t.prototype.dispatch=function(e){return W(this,void 0,void 0,function(){var n=this;return C(this,function(i){return this.isReady?[2,this.process(e)]:[2,new Promise(function(l){n.dispatchQ.push(n.dispatchWithCallback.bind(n,e,l))})]})})},t.prototype.getOperationAppliedUserProperties=function(e){var n={};if(e===void 0)return n;var i={};return Object.keys(e).forEach(function(l){Object.values(Pt).includes(l)||(i[l]=e[l])}),bg.forEach(function(l){if(Object.keys(e).includes(l)){var r=e[l];switch(l){case Pt.CLEAR_ALL:Object.keys(n).forEach(function(o){delete n[o]});break;case Pt.UNSET:Object.keys(r).forEach(function(o){delete n[o]});break;case Pt.SET:Object.assign(n,r);break}}}),Object.assign(n,i),n},t.prototype.process=function(e){return W(this,void 0,void 0,function(){var n,r,i,l,r;return C(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),this.config.optOut?[2,qt(e,0,Ag)]:(e.event_type===Bt.IDENTIFY&&(n=this.getOperationAppliedUserProperties(e.user_properties),this.timeline.onIdentityChanged({userProperties:n})),[4,this.timeline.push(e)]);case 1:return r=o.sent(),r.code===200?this.config.loggerProvider.log(r.message):r.code===100?this.config.loggerProvider.warn(r.message):this.config.loggerProvider.error(r.message),[2,r];case 2:return i=o.sent(),l=String(i),this.config.loggerProvider.error(l),r=qt(e,0,l),[2,r];case 3:return[2]}})})},t.prototype.setOptOut=function(e){if(!this.isReady){this.q.push(this._setOptOut.bind(this,!!e));return}this._setOptOut(e)},t.prototype._setOptOut=function(e){this.config.optOut!==e&&(this.timeline.onOptOutChanged(e),this.config.optOut=!!e)},t.prototype.flush=function(){return Oe(this.timeline.flush())},t.prototype.plugin=function(e){var n=this.timeline.plugins.find(function(i){return i.name===e});if(n===void 0){this.config.loggerProvider.debug("Cannot find plugin with name ".concat(e));return}return n},t.prototype.plugins=function(e){return this.timeline.plugins.filter(function(n){return n instanceof e})},t})(),Cg=(function(){function t(e,n){this.key="AMP_remote_config_".concat(e.substring(0,10)),this.logger=n}return t.prototype.fetchConfig=function(){var e=null,n={remoteConfig:null,lastFetch:new Date};try{e=localStorage.getItem(this.key)}catch(l){return this.logger.debug("Remote config localstorage failed to access: ",l),Promise.resolve(n)}if(e===null)return this.logger.debug("Remote config localstorage gets null because the key does not exist"),Promise.resolve(n);try{var i=JSON.parse(e);return this.logger.debug("Remote config localstorage parsed successfully: ".concat(JSON.stringify(i))),Promise.resolve({remoteConfig:i.remoteConfig,lastFetch:new Date(i.lastFetch)})}catch(l){return this.logger.debug("Remote config localstorage failed to parse: ",l),localStorage.removeItem(this.key),Promise.resolve(n)}},t.prototype.setConfig=function(e){try{return localStorage.setItem(this.key,JSON.stringify(e)),this.logger.debug("Remote config localstorage set successfully."),Promise.resolve(!0)}catch(n){this.logger.debug("Remote config localstorage failed to set: ",n)}return Promise.resolve(!1)},t})(),Wg="https://sr-client-cfg.amplitude.com/config",Bg="https://sr-client-cfg.eu.amplitude.com/config",Ng=3,Fg=1e3,Yg=(function(){function t(e,n,i){i===void 0&&(i="US"),this.callbackInfos=[],this.apiKey=e,this.serverUrl=i==="US"?Wg:Bg,this.logger=n,this.storage=new Cg(e,n)}return t.prototype.subscribe=function(e,n,i){var l=Ft(),r={id:l,key:e,deliveryMode:n,callback:i};return this.callbackInfos.push(r),n==="all"?this.subscribeAll(r):this.subscribeWaitForRemote(r,n.timeout),l},t.prototype.unsubscribe=function(e){var n=this.callbackInfos.findIndex(function(i){return i.id===e});return n===-1?(this.logger.debug("Remote config client unsubscribe failed because callback with id ".concat(e," doesn't exist.")),!1):(this.callbackInfos.splice(n,1),this.logger.debug("Remote config client unsubscribe succeeded removing callback with id ".concat(e,".")),!0)},t.prototype.updateConfigs=function(){return W(this,void 0,void 0,function(){var e,n=this;return C(this,function(i){switch(i.label){case 0:return[4,this.fetch()];case 1:return e=i.sent(),this.storage.setConfig(e),this.callbackInfos.forEach(function(l){n.sendCallback(l,e,"remote")}),[2]}})})},t.prototype.subscribeAll=function(e){return W(this,void 0,void 0,function(){var n,i,l,r=this;return C(this,function(o){switch(o.label){case 0:return n=this.fetch().then(function(a){r.logger.debug("Remote config client subscription all mode fetched from remote: ".concat(JSON.stringify(a))),r.sendCallback(e,a,"remote"),r.storage.setConfig(a)}),i=this.storage.fetchConfig().then(function(a){return a}),[4,Promise.race([n,i])];case 1:return l=o.sent(),l!==void 0&&(this.logger.debug("Remote config client subscription all mode fetched from cache: ".concat(JSON.stringify(l))),this.sendCallback(e,l,"cache")),[4,n];case 2:return o.sent(),[2]}})})},t.prototype.subscribeWaitForRemote=function(e,n){return W(this,void 0,void 0,function(){var i,l,l;return C(this,function(r){switch(r.label){case 0:i=new Promise(function(o,a){setTimeout(function(){a("Timeout exceeded")},n)}),r.label=1;case 1:return r.trys.push([1,3,,5]),[4,Promise.race([this.fetch(),i])];case 2:return l=r.sent(),this.logger.debug("Remote config client subscription wait for remote mode returns from remote."),this.sendCallback(e,l,"remote"),this.storage.setConfig(l),[3,5];case 3:return r.sent(),this.logger.debug("Remote config client subscription wait for remote mode exceeded timeout. Try to fetch from cache."),[4,this.storage.fetchConfig()];case 4:return l=r.sent(),l.remoteConfig!==null?(this.logger.debug("Remote config client subscription wait for remote mode returns a cached copy."),this.sendCallback(e,l,"cache")):(this.logger.debug("Remote config client subscription wait for remote mode failed to fetch cache."),this.sendCallback(e,l,"remote")),[3,5];case 5:return[2]}})})},t.prototype.sendCallback=function(e,n,i){e.lastCallback=new Date;var l;e.key?l=e.key.split(".").reduce(function(r,o){return r===null?r:o in r?r[o]:null},n.remoteConfig):l=n.remoteConfig,e.callback(l,i,n.lastFetch)},t.prototype.fetch=function(e,n){return e===void 0&&(e=Ng),n===void 0&&(n=Fg),W(this,void 0,void 0,function(){var i,l,r,o,a,c,d=this;return C(this,function(s){switch(s.label){case 0:i=n/e,l={remoteConfig:null,lastFetch:new Date},r=function(u){var h,g,b,m,f,p;return C(this,function(A){switch(A.label){case 0:h=new AbortController,g=setTimeout(function(){return h.abort()},n),A.label=1;case 1:return A.trys.push([1,7,8,9]),[4,fetch(o.getUrlParams(),{method:"GET",headers:{Accept:"*/*"},signal:h.signal})];case 2:return b=A.sent(),b.ok?[3,4]:[4,b.text()];case 3:return m=A.sent(),o.logger.debug("Remote config client fetch with retry time ".concat(e," failed with ").concat(b.status,": ").concat(m)),[3,6];case 4:return[4,b.json()];case 5:return f=A.sent(),[2,{value:{remoteConfig:f,lastFetch:new Date}}];case 6:return[3,9];case 7:return p=A.sent(),p instanceof Error&&p.name==="AbortError"?o.logger.debug("Remote config client fetch with retry time ".concat(e," timed out after ").concat(n,"ms")):o.logger.debug("Remote config client fetch with retry time ".concat(e," is rejected because: "),p),[3,9];case 8:return clearTimeout(g),[7];case 9:return u0&&(this.quantity=e),this},t.prototype.setPrice=function(e){return this.price=e,this},t.prototype.setRevenueType=function(e){return this.revenueType=e,this},t.prototype.setCurrency=function(e){return this.currency=e,this},t.prototype.setRevenue=function(e){return this.revenue=e,this},t.prototype.setReceipt=function(e){return this.receipt=e,this},t.prototype.setReceiptSig=function(e){return this.receiptSig=e,this},t.prototype.setEventProperties=function(e){return fl(e)&&(this.properties=e),this},t.prototype.getEventProperties=function(){var e=this.properties?N({},this.properties):{};return e[ht.REVENUE_PRODUCT_ID]=this.productId,e[ht.REVENUE_QUANTITY]=this.quantity,e[ht.REVENUE_PRICE]=this.price,e[ht.REVENUE_TYPE]=this.revenueType,e[ht.REVENUE_CURRENCY]=this.currency,e[ht.REVENUE]=this.revenue,e[ht.RECEIPT]=this.receipt,e[ht.RECEIPT_SIG]=this.receiptSig,e},t})(),ht;(function(t){t.REVENUE_PRODUCT_ID="$productId",t.REVENUE_QUANTITY="$quantity",t.REVENUE_PRICE="$price",t.REVENUE_TYPE="$revenueType",t.REVENUE_CURRENCY="$currency",t.REVENUE="$revenue",t.RECEIPT="$receipt",t.RECEIPT_SIG="$receiptSig"})(ht||(ht={}));var Jg=function(t,e){var n=Math.max(e,1);return t.reduce(function(i,l,r){var o=Math.floor(r/n);return i[o]||(i[o]=[]),i[o].push(l),i},[])},ai=function(){return{flushMaxRetries:12,flushQueueSize:200,flushIntervalMillis:1e4,instanceName:vc,logLevel:nt.Warn,loggerProvider:new Bc,offline:!1,optOut:!1,serverUrl:Sc,serverZone:"US",useBatch:!1}},xg=(function(){function t(e){var n,i,l,r;this._optOut=!1;var o=ai();this.apiKey=e.apiKey,this.flushIntervalMillis=(n=e.flushIntervalMillis)!==null&&n!==void 0?n:o.flushIntervalMillis,this.flushMaxRetries=e.flushMaxRetries||o.flushMaxRetries,this.flushQueueSize=e.flushQueueSize||o.flushQueueSize,this.instanceName=e.instanceName||o.instanceName,this.loggerProvider=e.loggerProvider||o.loggerProvider,this.logLevel=(i=e.logLevel)!==null&&i!==void 0?i:o.logLevel,this.minIdLength=e.minIdLength,this.plan=e.plan,this.ingestionMetadata=e.ingestionMetadata,this.offline=e.offline!==void 0?e.offline:o.offline,this.optOut=(l=e.optOut)!==null&&l!==void 0?l:o.optOut,this.serverUrl=e.serverUrl,this.serverZone=e.serverZone||o.serverZone,this.storageProvider=e.storageProvider,this.transportProvider=e.transportProvider,this.useBatch=(r=e.useBatch)!==null&&r!==void 0?r:o.useBatch,this.loggerProvider.enable(this.logLevel);var a=Nc(e.serverUrl,e.serverZone,e.useBatch);this.serverZone=a.serverZone,this.serverUrl=a.serverUrl}return Object.defineProperty(t.prototype,"optOut",{get:function(){return this._optOut},set:function(e){this._optOut=e},enumerable:!1,configurable:!0}),t})(),wg=function(t,e){return t==="EU"?e?rg:ig:e?lg:Sc},Nc=function(t,e,n){if(t===void 0&&(t=""),e===void 0&&(e=ai().serverZone),n===void 0&&(n=ai().useBatch),t)return{serverUrl:t,serverZone:void 0};var i=["US","EU"].includes(e)?e:ai().serverZone;return{serverZone:i,serverUrl:wg(i,n)}},kg=(function(){function t(){this.sdk={metrics:{histogram:{}}}}return t.prototype.recordHistogram=function(e,n){this.sdk.metrics.histogram[e]=n},t})();function zg(t){return t instanceof Error?t.message:String(t)}function Pn(t){var e="";try{"body"in t&&(e=JSON.stringify(t.body,null,2))}catch{}return e}var Qg=(function(){function t(){this.name="amplitude",this.type="destination",this.retryTimeout=1e3,this.throttleTimeout=3e4,this.storageKey="",this.scheduleId=null,this.scheduledTimeout=0,this.flushId=null,this.queue=[]}return t.prototype.setup=function(e){var n;return W(this,void 0,void 0,function(){var i,l=this;return C(this,function(r){switch(r.label){case 0:return this.config=e,this.storageKey="".concat(ng,"_").concat(this.config.apiKey.substring(0,10)),[4,(n=this.config.storageProvider)===null||n===void 0?void 0:n.get(this.storageKey)];case 1:return i=r.sent(),i&&i.length>0&&Promise.all(i.map(function(o){return l.execute(o)})).catch(),[2,Promise.resolve(void 0)]}})})},t.prototype.execute=function(e){var n=this;return e.insert_id||(e.insert_id=Ft()),new Promise(function(i){var l={event:e,attempts:0,callback:function(r){return i(r)},timeout:0};n.queue.push(l),n.schedule(n.config.flushIntervalMillis),n.saveEvents()})},t.prototype.removeEventsExceedFlushMaxRetries=function(e){var n=this;return e.filter(function(i){return i.attempts+=1,i.attemptsthis.scheduledTimeout)){this.scheduleId&&clearTimeout(this.scheduleId),this.scheduledTimeout=e,this.scheduleId=setTimeout(function(){n.queue=n.queue.map(function(i){return i.timeout=0,i}),n.flush(!0)},e);return}},t.prototype.resetSchedule=function(){this.scheduleId=null,this.scheduledTimeout=0},t.prototype.flush=function(e){return e===void 0&&(e=!1),W(this,void 0,void 0,function(){var n,i,l,r=this;return C(this,function(o){switch(o.label){case 0:return this.config.offline?(this.resetSchedule(),this.config.loggerProvider.debug("Skipping flush while offline."),[2]):this.flushId?(this.resetSchedule(),this.config.loggerProvider.debug("Skipping flush because previous flush has not resolved."),[2]):(this.flushId=this.scheduleId,this.resetSchedule(),n=[],i=[],this.queue.forEach(function(a){return a.timeout===0?n.push(a):i.push(a)}),l=Jg(n,this.config.flushQueueSize),[4,l.reduce(function(a,c){return W(r,void 0,void 0,function(){return C(this,function(d){switch(d.label){case 0:return[4,a];case 1:return d.sent(),[4,this.send(c,e)];case 2:return[2,d.sent()]}})})},Promise.resolve())]);case 1:return o.sent(),this.flushId=null,this.scheduleEvents(this.queue),[2]}})})},t.prototype.send=function(e,n){return n===void 0&&(n=!0),W(this,void 0,void 0,function(){var i,l,r,o,a;return C(this,function(c){switch(c.label){case 0:if(!this.config.apiKey)return[2,this.fulfillRequest(e,400,pg)];i={api_key:this.config.apiKey,events:e.map(function(d){var s=d.event;s.extra;var u=ml(s,["extra"]);return u}),options:{min_id_length:this.config.minIdLength},client_upload_time:new Date().toISOString(),request_metadata:this.config.requestMetadata},this.config.requestMetadata=new kg,c.label=1;case 1:return c.trys.push([1,3,,4]),l=Nc(this.config.serverUrl,this.config.serverZone,this.config.useBatch).serverUrl,[4,this.config.transportProvider.send(l,i)];case 2:return r=c.sent(),r===null?(this.fulfillRequest(e,0,mg),[2]):n?(this.handleResponse(r,e),[3,4]):("body"in r?this.fulfillRequest(e,r.statusCode,"".concat(r.status,": ").concat(Pn(r))):this.fulfillRequest(e,r.statusCode,r.status),[2]);case 3:return o=c.sent(),a=zg(o),this.config.loggerProvider.error(a),this.handleResponse({status:Xe.Failed,statusCode:0},e),[3,4];case 4:return[2]}})})},t.prototype.handleResponse=function(e,n){var i=e.status;switch(i){case Xe.Success:{this.handleSuccessResponse(e,n);break}case Xe.Invalid:{this.handleInvalidResponse(e,n);break}case Xe.PayloadTooLarge:{this.handlePayloadTooLargeResponse(e,n);break}case Xe.RateLimit:{this.handleRateLimitResponse(e,n);break}default:{this.config.loggerProvider.warn(`{code: 0, error: "Status '`.concat(i,"' provided for ").concat(n.length,' events"}')),this.handleOtherResponse(n);break}}},t.prototype.handleSuccessResponse=function(e,n){this.fulfillRequest(n,e.statusCode,Vg)},t.prototype.handleInvalidResponse=function(e,n){var i=this;if(e.body.missingField||e.body.error.startsWith(Zg)){this.fulfillRequest(n,e.statusCode,e.body.error);return}var l=_(_(_(_([],U(Object.values(e.body.eventsWithInvalidFields)),!1),U(Object.values(e.body.eventsWithMissingFields)),!1),U(Object.values(e.body.eventsWithInvalidIdLengths)),!1),U(e.body.silencedEvents),!1).flat(),r=new Set(l),o=n.filter(function(c,d){if(r.has(d)){i.fulfillRequest([c],e.statusCode,e.body.error);return}return!0});o.length>0&&this.config.loggerProvider.warn(Pn(e));var a=this.removeEventsExceedFlushMaxRetries(o);this.scheduleEvents(a)},t.prototype.handlePayloadTooLargeResponse=function(e,n){if(n.length===1){this.fulfillRequest(n,e.statusCode,e.body.error);return}this.config.loggerProvider.warn(Pn(e)),this.config.flushQueueSize/=2;var i=this.removeEventsExceedFlushMaxRetries(n);this.scheduleEvents(i)},t.prototype.handleRateLimitResponse=function(e,n){var i=this,l=Object.keys(e.body.exceededDailyQuotaUsers),r=Object.keys(e.body.exceededDailyQuotaDevices),o=e.body.throttledEvents,a=new Set(l),c=new Set(r),d=new Set(o),s=n.filter(function(h,g){if(h.event.user_id&&a.has(h.event.user_id)||h.event.device_id&&c.has(h.event.device_id)){i.fulfillRequest([h],e.statusCode,e.body.error);return}return d.has(g)&&(h.timeout=i.throttleTimeout),!0});s.length>0&&this.config.loggerProvider.warn(Pn(e));var u=this.removeEventsExceedFlushMaxRetries(s);this.scheduleEvents(u)},t.prototype.handleOtherResponse=function(e){var n=this,i=e.map(function(r){return r.timeout=r.attempts*n.retryTimeout,r}),l=this.removeEventsExceedFlushMaxRetries(i);this.scheduleEvents(l)},t.prototype.fulfillRequest=function(e,n,i){this.removeEvents(e),e.forEach(function(l){return l.callback(qt(l.event,n,i))})},t.prototype.saveEvents=function(){if(this.config.storageProvider){var e=this.queue.map(function(n){return n.event});this.config.storageProvider.set(this.storageKey,e)}},t.prototype.removeEvents=function(e){this.queue=this.queue.filter(function(n){return!e.some(function(i){return i.event.insert_id===n.event.insert_id})}),this.saveEvents()},t})(),Lg=(function(){function t(){}return t.prototype.getApplicationContext=function(){return{versionName:this.versionName,language:Kg(),platform:"Web",os:void 0,deviceModel:void 0}},t})(),Kg=function(){return typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]||navigator.language)||""},Tg=(function(){function t(){this.queue=[]}return t.prototype.logEvent=function(e){this.receiver?this.receiver(e):this.queue.length<512&&this.queue.push(e)},t.prototype.setEventReceiver=function(e){this.receiver=e,this.queue.length>0&&(this.queue.forEach(function(n){e(n)}),this.queue=[])},t})(),vt=function(){return vt=Object.assign||function(e){for(var n,i=1,l=arguments.length;i=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function eo(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var i=n.call(t),l,r=[],o;try{for(;(e===void 0||e-- >0)&&!(l=i.next()).done;)r.push(l.value)}catch(a){o={error:a}}finally{try{l&&!l.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return r}var di=function(t,e){var n,i,l=["string","number","boolean","undefined"],r=typeof t,o=typeof e;if(r!==o)return!1;try{for(var a=ci(l),c=a.next();!c.done;c=a.next()){var d=c.value;if(d===r)return t===e}}catch(f){n={error:f}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}if(t==null&&e==null)return!0;if(t==null||e==null||t.length!==e.length)return!1;var s=Array.isArray(t),u=Array.isArray(e);if(s!==u)return!1;if(s&&u){for(var h=0;ht},Yc=function(t,e,n){return e===void 0&&(e=""),n===void 0&&(n=10),[Fi,e,t.substring(0,n)].filter(Boolean).join("_")},qg=function(t){return"".concat(Fi.toLowerCase(),"_").concat(t.substring(0,6))},eh=function(){var t,e,n,i;if(typeof navigator>"u")return"";var l=navigator.userLanguage;return(i=(n=(e=(t=navigator.languages)===null||t===void 0?void 0:t[0])!==null&&e!==void 0?e:navigator.language)!==null&&n!==void 0?n:l)!==null&&i!==void 0?i:""},Gi=function(){var t,e=Fe();if(!(!((t=e==null?void 0:e.location)===null||t===void 0)&&t.search))return{};var n=e.location.search.substring(1).split("&").filter(Boolean),i=n.reduce(function(l,r){var o=r.split("=",2),a=to(o[0]),c=to(o[1]);return c&&(l[a]=c),l},{});return i},to=function(t){t===void 0&&(t="");try{return decodeURIComponent(t)}catch{return""}},th=function(t){var e=new Error().stack||"";return e.split(` `).slice(2+t).map(function(n){return n.trim()})},ue=function(t){return function(){var e=N({},t.config),n=e.loggerProvider,i=e.logLevel;return{logger:n,logLevel:i}}},nh=function(t,e){var n,i;e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,"");try{for(var l=H(e.split(".")),r=l.next();!r.done;r=l.next()){var o=r.value;if(o in t)t=t[o];else return}}catch(a){n={error:a}}finally{try{r&&!r.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}return t},ge=function(t,e){return function(){var n,i,l={};try{for(var r=H(e),o=r.next();!o.done;o=r.next()){var a=o.value;l[a]=nh(t,a)}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return l}},he=function(t,e,n,i,l){return l===void 0&&(l=null),function(){for(var r=[],o=0;o=200&&e<300?Xe.Success:e===429?Xe.RateLimit:e===413?Xe.PayloadTooLarge:e===408?Xe.Timeout:e>=400&&e<500?Xe.Invalid:e>=500?Xe.Failed:Xe.Unknown},t})(),oh=(function(t){Me(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,i){return W(this,void 0,void 0,function(){var l,r,o;return C(this,function(a){switch(a.label){case 0:if(typeof fetch>"u")throw new Error("FetchTransport is not supported");return l={headers:{"Content-Type":"application/json",Accept:"*/*"},body:JSON.stringify(i),method:"POST"},[4,fetch(n,l)];case 1:return r=a.sent(),[4,r.text()];case 2:o=a.sent();try{return[2,this.buildResponse(JSON.parse(o))]}catch{return[2,this.buildResponse({code:r.status})]}return[2]}})})},e})(Dl),ah=null,ch=["a","button","input","select","textarea","label","video","audio",'[contenteditable="true" i]',"[data-amp-default-track]",".amp-default-track"],Jc="data-amp-track-",dh=["div","span","h1","h2","h3","h4","h5","h6"],sh=["a","button",'[role="button"]','[role="link"]','[role="menuitem"]','[role="menuitemcheckbox"]','[role="menuitemradio"]','[role="option"]','[role="tab"]','[role="treeitem"]','[contenteditable="true" i]'],uh=_(['input[type="button"]','input[type="submit"]','input[type="reset"]','input[type="image"]','input[type="file"]'],U(sh),!1),gh=["*"],hh=1e3,bh=4,Vh=50;function mh(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null||t===void 0}function xc(t,e,n){if(t){var i=e.map(io),l=n.map(io);wc({json:t,allowlist:i,excludelist:l,ancestors:[]})}}function wc(t){var e,n,i=t.json,l=t.targetObject,r=t.allowlist,o=t.excludelist,a=t.ancestors,c=t.parentObject,d=t.targetKey;l||(l=i);var s=Object.keys(l);try{for(var u=H(s),h=u.next();!h.done;h=u.next()){var g=h.value,b=_(_([],U(a),!1),[g],!1);mh(l[g])?(!lo(b,r)||lo(b,o))&&delete l[g]:wc({json:i,targetObject:l[g],allowlist:r,excludelist:o,ancestors:b,parentObject:l,targetKey:g})}}catch(m){e={error:m}}finally{try{h&&!h.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}Object.keys(l).length===0&&c&&d&&delete c[d]}function io(t){return t.startsWith("/")&&(t=t.slice(1)),t.split("/").map(function(e){return e.replace(/~0/g,"~").replace(/~1/g,"/")})}function Zl(t,e,n,i){if(n===void 0&&(n=0),i===void 0&&(i=0),i===e.length)return n===t.length;if(n===t.length){for(;i=e)return}}catch(f){n={error:f}}finally{try{h&&!h.done&&(i=u.return)&&i.call(u)}finally{if(n)throw n.error}}l=d}else if(t instanceof ReadableStream){a=t;return}return l}}var Zh=(function(){function t(e){this.response=e}return t.prototype.headers=function(e){var n;if(e===void 0&&(e=[]),this.response.headers instanceof Headers){var i=this.response.headers,l={};return(n=i==null?void 0:i.forEach)===null||n===void 0||n.call(i,function(r,o){l[o]=r}),Yi(l,{allow:e})}},Object.defineProperty(t.prototype,"bodySize",{get:function(){var e,n;if(this._bodySize!==void 0)return this._bodySize;var i=(n=(e=this.response.headers)===null||e===void 0?void 0:e.get)===null||n===void 0?void 0:n.call(e,"content-length"),l=i?parseInt(i,10):void 0;return this._bodySize=l,l},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.response.status},enumerable:!1,configurable:!0}),t.prototype.text=function(){return W(this,void 0,void 0,function(){var e,n,i;return C(this,function(l){switch(l.label){case 0:this.clonedResponse||(this.clonedResponse=this.response.clone()),l.label=1;case 1:return l.trys.push([1,3,,4]),e=this.clonedResponse.text(),n=new Promise(function(r){return setTimeout(function(){return r(null)},fh)}),[4,Promise.race([e,n])];case 2:return i=l.sent(),[2,i];case 3:return l.sent(),[2,null];case 4:return[2]}})})},t.prototype.json=function(e,n){return e===void 0&&(e=[]),n===void 0&&(n=[]),W(this,void 0,void 0,function(){var i;return C(this,function(l){switch(l.label){case 0:return e.length===0?[2,null]:[4,this.text()];case 1:return i=l.sent(),[2,_l(i,e,n)]}})})},t})(),Gh=(function(){function t(e,n,i,l){this.statusCode=e,this.headersString=n,this.size=i,this.getJson=l}return Object.defineProperty(t.prototype,"bodySize",{get:function(){return this.size},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this.statusCode},enumerable:!1,configurable:!0}),t.prototype.headers=function(e){var n,i;if(e===void 0&&(e=[]),!this.headersString)return{};var l={},r=this.headersString.split(`\r `);try{for(var o=H(r),a=o.next();!a.done;a=o.next()){var c=a.value,d=U(c.split(": "),2),s=d[0],u=d[1];s&&u&&(l[s]=u)}}catch(h){n={error:h}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return Yi(l,{allow:e})},t.prototype.json=function(e,n){return e===void 0&&(e=[]),n===void 0&&(n=[]),W(this,void 0,void 0,function(){var i;return C(this,function(l){return e.length===0?[2,null]:(i=this.getJson(),i?(xc(i,e,n),[2,i]):[2,null])})})},t})();function _l(t,e,n){if(!t)return null;try{var i=JSON.parse(t);return xc(i,e,n),i}catch{return null}}var Gn;(function(t){t.REDACT="redact",t.REMOVE="remove"})(Gn||(Gn={}));var ro="[REDACTED]",Yi=function(t,e){var n,i,l=e.allow,r=l===void 0?[]:l,o=e.strategy,a=o===void 0?Gn.REMOVE:o,c=_([],U(gg),!1),d={},s=function(b){var m=b.toLowerCase();c.find(function(f){return f.toLowerCase()===m})?a===Gn.REDACT&&(d[b]=ro):r.find(function(f){return f.toLowerCase()===m})?d[b]=t[b]:a===Gn.REDACT&&(d[b]=ro)};try{for(var u=H(Object.keys(t)),h=u.next();!h.done;h=u.next()){var g=h.value;s(g)}}catch(b){n={error:b}}finally{try{h&&!h.done&&(i=u.return)&&i.call(u)}finally{if(n)throw n.error}}return d},Xh=(function(){function t(e,n,i,l,r,o,a,c,d,s,u){a===void 0&&(a=0),this.type=e,this.method=n,this.timestamp=i,this.startTime=l,this.url=r,this.requestWrapper=o,this.status=a,this.duration=c,this.responseWrapper=d,this.error=s,this.endTime=u}return t.prototype.toSerializable=function(){var e,n,i,l,r={type:this.type,method:this.method,url:this.url,timestamp:this.timestamp,status:this.status,duration:this.duration,error:this.error,startTime:this.startTime,endTime:this.endTime,requestHeaders:(e=this.requestWrapper)===null||e===void 0?void 0:e.headers(_([],U(Zi),!1)),requestBodySize:(n=this.requestWrapper)===null||n===void 0?void 0:n.bodySize,responseHeaders:(i=this.responseWrapper)===null||i===void 0?void 0:i.headers(_([],U(Zi),!1)),responseBodySize:(l=this.responseWrapper)===null||l===void 0?void 0:l.bodySize};return Object.fromEntries(Object.entries(r).filter(function(o){var a=U(o,2);a[0];var c=a[1];return c!==void 0}))},t})();function Ih(t){return typeof t=="object"&&t!==null&&"url"in t&&"method"in t}var Rh=(function(){function t(e,n){n===void 0&&(n=Ft()),this.callback=e,this.id=n}return t})(),Eh=(function(){function t(e){this.eventCallbacks=new Map,this.isObserving=!1,this.logger=e;var n=Fe();t.isSupported()&&(this.globalScope=n)}return t.isSupported=function(){var e=Fe();return!!e&&!!e.fetch},t.prototype.subscribe=function(e,n){var i,l,r,o,a,c,d,s,u,h;if(this.logger||(this.logger=n),this.eventCallbacks.set(e.id,e),!this.isObserving){var g=(r=(l=(i=this.globalScope)===null||i===void 0?void 0:i.XMLHttpRequest)===null||l===void 0?void 0:l.prototype)===null||r===void 0?void 0:r.open,b=(c=(a=(o=this.globalScope)===null||o===void 0?void 0:o.XMLHttpRequest)===null||a===void 0?void 0:a.prototype)===null||c===void 0?void 0:c.send,m=(u=(s=(d=this.globalScope)===null||d===void 0?void 0:d.XMLHttpRequest)===null||s===void 0?void 0:s.prototype)===null||u===void 0?void 0:u.setRequestHeader;g&&b&&m&&this.observeXhr(g,b,m);var f=(h=this.globalScope)===null||h===void 0?void 0:h.fetch;f&&this.observeFetch(f),this.isObserving=!0}},t.prototype.unsubscribe=function(e){this.eventCallbacks.delete(e.id)},t.prototype.triggerEventCallbacks=function(e){var n=this;this.eventCallbacks.forEach(function(i){var l;try{i.callback(e)}catch(r){(l=n.logger)===null||l===void 0||l.debug("an unexpected error occurred while triggering event callbacks",r)}})},t.prototype.handleNetworkRequestEvent=function(e,n,i,l,r,o,a){var c,d;if(!(o===void 0||a===void 0)){var s,u="GET";if(Ih(n)?(s=n.url,u=n.method):s=(c=n==null?void 0:n.toString)===null||c===void 0?void 0:c.call(n),s)try{var h=new URL(s);s="".concat(h.protocol,"//").concat(h.host).concat(h.pathname).concat(h.search).concat(h.hash)}catch(A){(d=this.logger)===null||d===void 0||d.error("an unexpected error occurred while parsing the URL",A)}u=(i==null?void 0:i.method)||u;var g,b;l&&(g=l.status),r&&(b={name:r.name||"UnknownError",message:r.message||"An unknown error occurred"},g=0);var m=Math.floor(performance.now()-a),f=Math.floor(o+m),p=new Xh(e,u,o,o,s,i,g,m,l,b,f);this.triggerEventCallbacks(p)}},t.prototype.getTimestamps=function(){var e,n;return{startTime:(e=Date.now)===null||e===void 0?void 0:e.call(Date),durationStart:(n=performance==null?void 0:performance.now)===null||n===void 0?void 0:n.call(performance)}},t.prototype.observeFetch=function(e){var n=this;!this.globalScope||!e||(this.globalScope.fetch=function(i,l){return W(n,void 0,void 0,function(){var r,o,a,c,d,s;return C(this,function(u){switch(u.label){case 0:try{r=this.getTimestamps()}catch(h){(d=this.logger)===null||d===void 0||d.debug("an unexpected error occurred while retrieving timestamps",h)}u.label=1;case 1:return u.trys.push([1,3,,4]),[4,e(i,l)];case 2:return o=u.sent(),[3,4];case 3:return c=u.sent(),a=c,[3,4];case 4:try{this.handleNetworkRequestEvent("fetch",i,l?new Ah(l):void 0,o?new Zh(o):void 0,a,r==null?void 0:r.startTime,r==null?void 0:r.durationStart)}catch(h){(s=this.logger)===null||s===void 0||s.debug("an unexpected error occurred while handling fetch",h)}if(o)return[2,o];throw a}})})})},t.createXhrJsonParser=function(e,n){return function(){var i,l;try{if(e.responseType==="json"){if(!((i=n.globalScope)===null||i===void 0)&&i.structuredClone)return n.globalScope.structuredClone(e.response)}else if(["text",""].includes(e.responseType))return JSON.parse(e.responseText)}catch(r){return r instanceof Error&&r.name==="InvalidStateError"&&((l=n.logger)===null||l===void 0||l.error("unexpected error when retrieving responseText. responseType='".concat(e.responseType,"'"))),null}return null}},t.prototype.observeXhr=function(e,n,i){if(!(!this.globalScope||!e||!n)){var l=this.globalScope.XMLHttpRequest.prototype,r=this;l.open=function(){for(var o,a,c=[],d=0;d"u"&&a(new Error("XHRTransport is not supported."));var c=new XMLHttpRequest;c.open("POST",n,!0),c.onreadystatechange=function(){if(c.readyState===l.state.done){var d=c.responseText;try{o(l.buildResponse(JSON.parse(d)))}catch{o(l.buildResponse({code:c.status}))}}},c.setRequestHeader("Content-Type","application/json"),c.setRequestHeader("Accept","*/*"),c.send(JSON.stringify(i))})]})})},e})(Dl),Qh=(function(t){Me(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,i){return W(this,void 0,void 0,function(){var l=this;return C(this,function(r){return[2,new Promise(function(o,a){var c=Fe();if(!(c!=null&&c.navigator.sendBeacon))throw new Error("SendBeaconTransport is not supported");try{var d=JSON.stringify(i),s=c.navigator.sendBeacon(n,JSON.stringify(i));return o(s?l.buildResponse({code:200,events_ingested:i.events.length,payload_size_bytes:d.length,server_upload_time:Date.now()}):l.buildResponse({code:500}))}catch(u){a(u)}})]})})},e})(Dl),Lh=function(t,e,n){return n===void 0&&(n=!0),W(void 0,void 0,void 0,function(){var i,l,r,o,a,c,d,s,u;return C(this,function(h){switch(h.label){case 0:return i=qg(t),[4,e.getRaw(i)];case 1:return l=h.sent(),l?n?[4,e.remove(i)]:[3,3]:[2,{optOut:!1}];case 2:h.sent(),h.label=3;case 3:return r=U(l.split("."),6),o=r[0],a=r[1],c=r[2],d=r[3],s=r[4],u=r[5],[2,{deviceId:o,userId:Kh(a),sessionId:Oi(d),lastEventId:Oi(u),lastEventTime:Oi(s),optOut:!!c}]}})})},Oi=function(t){var e=parseInt(t,32);if(!isNaN(e))return e},Kh=function(t){if(!(!atob||!escape||!t))try{return decodeURIComponent(escape(atob(t)))}catch{return}},ut="[Amplitude]",co="".concat(ut," Form Started"),Th="".concat(ut," Form Submitted"),Mh="".concat(ut," File Downloaded"),so="session_start",uo="session_end",Hh="".concat(ut," File Extension"),Dh="".concat(ut," File Name"),_h="".concat(ut," Link ID"),jh="".concat(ut," Link Text"),Ph="".concat(ut," Link URL"),$i="".concat(ut," Form ID"),qi="".concat(ut," Form Name"),el="".concat(ut," Form Destination"),Xi="cookie",Oh="US",$h=(function(t){Me(e,t);function e(n,i,l,r,o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S,G,B,v,J,w,L,O,$,Ae,pe,Se,Ue,Ee,Ce){l===void 0&&(l=new Hl),r===void 0&&(r={domain:"",expiration:365,sameSite:"Lax",secure:!1,upgrade:!0}),d===void 0&&(d=1e3),s===void 0&&(s=5),u===void 0&&(u=30),h===void 0&&(h=Xi),p===void 0&&(p=new Bc),A===void 0&&(A=nt.Warn),y===void 0&&(y=!1),I===void 0&&(I=!1),B===void 0&&(B=""),v===void 0&&(v=Oh),w===void 0&&(w=1800*1e3),L===void 0&&(L=new Dc({loggerProvider:p})),O===void 0&&(O={ipAddress:!0,language:!0,platform:!0}),$===void 0&&($="fetch"),Ae===void 0&&(Ae=!1),pe===void 0&&(pe=!0);var x=t.call(this,{apiKey:n,storageProvider:L,transportProvider:_c($)})||this;return x.apiKey=n,x.appVersion=i,x.cookieOptions=r,x.defaultTracking=o,x.autocapture=a,x.flushIntervalMillis=d,x.flushMaxRetries=s,x.flushQueueSize=u,x.identityStorage=h,x.ingestionMetadata=g,x.instanceName=b,x.loggerProvider=p,x.logLevel=A,x.minIdLength=X,x.offline=y,x.partnerId=S,x.plan=G,x.serverUrl=B,x.serverZone=v,x.sessionTimeout=w,x.storageProvider=L,x.trackingOptions=O,x.transport=$,x.useBatch=Ae,x.fetchRemoteConfig=pe,x.networkTrackingOptions=Ce,x.version=Hc,x._optOut=!1,x._cookieStorage=l,x.deviceId=c,x.lastEventId=m,x.lastEventTime=f,x.optOut=I,x.sessionId=J,x.pageCounter=Ue,x.userId=Se,x.debugLogsEnabled=Ee,x.loggerProvider.enable(Ee?nt.Debug:x.logLevel),x.networkTrackingOptions=Ce,x}return Object.defineProperty(e.prototype,"cookieStorage",{get:function(){return this._cookieStorage},set:function(n){this._cookieStorage!==n&&(this._cookieStorage=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"deviceId",{get:function(){return this._deviceId},set:function(n){this._deviceId!==n&&(this._deviceId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"userId",{get:function(){return this._userId},set:function(n){this._userId!==n&&(this._userId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sessionId",{get:function(){return this._sessionId},set:function(n){this._sessionId!==n&&(this._sessionId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"optOut",{get:function(){return this._optOut},set:function(n){this._optOut!==n&&(this._optOut=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastEventTime",{get:function(){return this._lastEventTime},set:function(n){this._lastEventTime!==n&&(this._lastEventTime=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastEventId",{get:function(){return this._lastEventId},set:function(n){this._lastEventId!==n&&(this._lastEventId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageCounter",{get:function(){return this._pageCounter},set:function(n){this._pageCounter!==n&&(this._pageCounter=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"debugLogsEnabled",{set:function(n){this._debugLogsEnabled!==n&&(this._debugLogsEnabled=n,this.updateStorage())},enumerable:!1,configurable:!0}),e.prototype.updateStorage=function(){var n={deviceId:this._deviceId,userId:this._userId,sessionId:this._sessionId,optOut:this._optOut,lastEventTime:this._lastEventTime,lastEventId:this._lastEventId,pageCounter:this._pageCounter,debugLogsEnabled:this._debugLogsEnabled};this.cookieStorage.set(Yc(this.apiKey),n)},e})(xg),qh=function(t,e,n){return e===void 0&&(e={}),W(void 0,void 0,void 0,function(){var i,l,r,o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S,G,B,v,J,w,L,O,$,Ae,pe,Se,Ue,Ee,Ce,x,Ve,q,De,et,me,ne,Le,at,_e,un;return C(this,function(gt){switch(gt.label){case 0:return i=e.identityStorage||Xi,G={},i===Xi?[3,1]:(r="",[3,5]);case 1:return(v=(B=e.cookieOptions)===null||B===void 0?void 0:B.domain)!==null&&v!==void 0?(o=v,[3,4]):[3,2];case 2:return[4,tb()];case 3:o=gt.sent(),gt.label=4;case 4:r=o,gt.label=5;case 5:return l=N.apply(void 0,[(G.domain=r,G.expiration=365,G.sameSite="Lax",G.secure=!1,G.upgrade=!0,G),e.cookieOptions]),a=eb(e.identityStorage,l),[4,Lh(t,a,(w=(J=e.cookieOptions)===null||J===void 0?void 0:J.upgrade)!==null&&w!==void 0?w:!0)];case 6:return c=gt.sent(),[4,a.get(Yc(t))];case 7:return d=gt.sent(),s=Gi(),u=s.ampTimestamp?Number(s.ampTimestamp):void 0,h=u?Date.now()"u"||!location.hostname)return[2,""];for(e=location.hostname,n=e.split("."),i=[],l="AMP_TLDTEST",r=n.length-2;r>=0;--r)i.push(n.slice(r).join("."));r=0,s.label=2;case 2:return r"u"||typeof o=="function"&&o()},g=typeof location<"u"?location.href:null,b=function(){return W(void 0,void 0,void 0,function(){var p,A,X,y;return C(this,function(I){switch(I.label){case 0:return p=location.href,A=bb(a,p,g||"")&&h(),g=p,A?(i==null||i.log("Tracking page view event"),e!=null?[3,1]:[3,3]):[3,4];case 1:return y=(X=e).track,[4,u()];case 2:y.apply(X,[I.sent()]),I.label=3;case 3:I.label=4;case 4:return[2]}})})},m=function(){b()},f={name:"@amplitude/plugin-page-view-tracking-browser",type:"enrichment",setup:function(p,A){return W(void 0,void 0,void 0,function(){var X,y;return C(this,function(I){switch(I.label){case 0:return e=A,r=p,i=p.loggerProvider,i.log("Installing @amplitude/plugin-page-view-tracking-browser"),l=!0,n&&(n.addEventListener("popstate",m),n.history.pushState=new Proxy(n.history.pushState,{apply:function(S,G,B){var v=U(B,3),J=v[0],w=v[1],L=v[2];S.apply(G,[J,w,L]),l&&b()}})),h()?(i.log("Tracking page view event"),y=(X=e).track,[4,u()]):[3,2];case 1:y.apply(X,[I.sent()]),I.label=2;case 2:return[2]}})})},execute:function(p){return W(void 0,void 0,void 0,function(){var A;return C(this,function(X){switch(X.label){case 0:return o==="attribution"&&hb(p)?(i==null||i.log("Enriching campaign event to page view event with campaign parameters"),[4,u()]):[3,2];case 1:A=X.sent(),p.event_type=A.event_type,p.event_properties=N(N({},p.event_properties),A.event_properties),X.label=2;case 2:return r&&p.event_type===d&&(r.pageCounter=r.pageCounter?r.pageCounter+1:1,p.event_properties=N(N({},p.event_properties),{"[Amplitude] Page Counter":r.pageCounter})),[2,p]}})})},teardown:function(){return W(void 0,void 0,void 0,function(){return C(this,function(p){return n&&(n.removeEventListener("popstate",m),l=!1),[2]})})}};return f},gb=function(){return W(void 0,void 0,void 0,function(){var t;return C(this,function(e){switch(e.label){case 0:return t=db,[4,new cb().parse()];case 1:return[2,t.apply(void 0,[e.sent()])]}})})},hb=function(t){if(t.event_type==="$identify"&&t.user_properties){var e=t.user_properties,n=e[Ii.SET]||{},i=e[Ii.UNSET]||{},l=_(_([],U(Object.keys(n)),!1),U(Object.keys(i)),!1);return Object.keys(Pc).every(function(r){return l.includes(r)})}return!1},bb=function(t,e,n){switch(t){case"pathOnly":{if(n=="")return!0;var i=new URL(e),l=new URL(n),r=i.origin+i.pathname,o=l.origin+l.pathname;return r!==o}default:return e!==n}},Vb=function(){var t,e=[],n=function(d,s,u){d.addEventListener(s,u),e.push({element:d,type:s,handler:u})},i=function(){e.forEach(function(d){var s=d.element,u=d.type,h=d.handler;s==null||s.removeEventListener(u,h)}),e=[]},l="@amplitude/plugin-form-interaction-tracking-browser",r="enrichment",o=function(d,s){return W(void 0,void 0,void 0,function(){var u,h;return C(this,function(g){return u=function(){if(!s){d.loggerProvider.warn("Form interaction tracking requires a later version of @amplitude/analytics-browser. Form interaction events are not tracked.");return}if(!(typeof document>"u")){var b=function(f){var p=!1;n(f,"change",function(){var A,X=vo(f);p||s.track(co,(A={},A[$i]=Dt(f.id),A[qi]=Dt(f.name),A[el]=X,A)),p=!0}),n(f,"submit",function(){var A,X,y=vo(f);p||s.track(co,(A={},A[$i]=Dt(f.id),A[qi]=Dt(f.name),A[el]=y,A)),s.track(Th,(X={},X[$i]=Dt(f.id),X[qi]=Dt(f.name),X[el]=y,X)),p=!1})},m=Array.from(document.getElementsByTagName("form"));m.forEach(b),typeof MutationObserver<"u"&&(t=new MutationObserver(function(f){f.forEach(function(p){p.addedNodes.forEach(function(A){A.nodeName==="FORM"&&b(A),"querySelectorAll"in A&&typeof A.querySelectorAll=="function"&&Array.from(A.querySelectorAll("form")).map(b)})})}),t.observe(document.body,{subtree:!0,childList:!0}))}},document.readyState==="complete"?u():(h=Fe(),h?h.addEventListener("load",u):d.loggerProvider.debug("Form interaction tracking is not installed because global is undefined.")),[2]})})},a=function(d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return[2,d]})})},c=function(){return W(void 0,void 0,void 0,function(){return C(this,function(d){return t==null||t.disconnect(),i(),[2]})})};return{name:l,type:r,setup:o,execute:a,teardown:c}},Dt=function(t){if(typeof t=="string")return t},vo=function(t){var e=t.getAttribute("action");try{e=new URL(encodeURI(e??""),window.location.href).href}catch{}return e},mb=function(){var t,e=[],n=function(d,s,u){d.addEventListener(s,u),e.push({element:d,type:s,handler:u})},i=function(){e.forEach(function(d){var s=d.element,u=d.type,h=d.handler;s==null||s.removeEventListener(u,h)}),e=[]},l="@amplitude/plugin-file-download-tracking-browser",r="enrichment",o=function(d,s){return W(void 0,void 0,void 0,function(){var u,h;return C(this,function(g){return u=function(){if(!s){d.loggerProvider.warn("File download tracking requires a later version of @amplitude/analytics-browser. File download events are not tracked.");return}if(!(typeof document>"u")){var b=function(p){var A;try{A=new URL(p.href,window.location.href)}catch{return}var X=m.exec(A.href),y=X==null?void 0:X[1];y&&n(p,"click",function(){var I;y&&s.track(Mh,(I={},I[Hh]=y,I[Dh]=A.pathname,I[_h]=p.id,I[jh]=p.text,I[Ph]=p.href,I))})},m=/\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)(\?.+)?$/,f=Array.from(document.getElementsByTagName("a"));f.forEach(b),typeof MutationObserver<"u"&&(t=new MutationObserver(function(p){p.forEach(function(A){A.addedNodes.forEach(function(X){X.nodeName==="A"&&b(X),"querySelectorAll"in X&&typeof X.querySelectorAll=="function"&&Array.from(X.querySelectorAll("a")).map(b)})})}),t.observe(document.body,{subtree:!0,childList:!0}))}},document.readyState==="complete"?u():(h=Fe(),h?h.addEventListener("load",u):d.loggerProvider.debug("File download tracking is not installed because global is undefined.")),[2]})})},a=function(d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return[2,d]})})},c=function(){return W(void 0,void 0,void 0,function(){return C(this,function(d){return t==null||t.disconnect(),i(),[2]})})};return{name:l,type:r,setup:o,execute:a,teardown:c}},So=!1,fb=function(t){if(!(So||t.defaultTracking!==void 0)){var e=`\`options.defaultTracking\` is set to undefined. This implicitly configures your Amplitude instance to track Page Views, Sessions, File Downloads, and Form Interactions. You can suppress this warning by explicitly setting a value to \`options.defaultTracking\`. The value must either be a boolean, to enable and disable all default events, or an object, for advanced configuration. For example: amplitude.init(, { defaultTracking: true, }); Visit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-default-events for more details.`;t.loggerProvider.warn(e),So=!0}},Ab=function(){var t="@amplitude/plugin-network-checker-browser",e="before",n=Fe(),i=[],l=function(c,d){n!=null&&n.addEventListener&&(n==null||n.addEventListener(c,d),i.push({type:c,handler:d}))},r=function(){i.forEach(function(c){var d=c.type,s=c.handler;n==null||n.removeEventListener(d,s)}),i=[]},o=function(c,d){return W(void 0,void 0,void 0,function(){return C(this,function(s){return typeof navigator>"u"?(c.loggerProvider.debug("Network connectivity checker plugin is disabled because navigator is not available."),c.offline=!1,[2]):(c.offline=!navigator.onLine,l("online",function(){c.loggerProvider.debug("Network connectivity changed to online."),c.offline=!1,setTimeout(function(){d.flush()},c.flushIntervalMillis)}),l("offline",function(){c.loggerProvider.debug("Network connectivity changed to offline."),c.offline=!0}),[2])})})},a=function(){return W(void 0,void 0,void 0,function(){return C(this,function(c){return r(),[2]})})};return{name:t,type:e,setup:o,teardown:a}};function Oc(t){var e,n,i,l,r,o,a,c,d,s;if(!(typeof t!="object"||t===null)&&!Array.isArray(t)){var u=Object.keys(t);try{for(var h=H(u),g=h.next();!g.done;g=h.next()){var b=g.value;try{var m=t[b];typeof(m==null?void 0:m.enabled)=="boolean"&&(m.enabled?(delete m.enabled,Object.keys(m).length===0&&(t[b]=!0)):t[b]=!1),Oc(m)}catch{}}}catch(v){e={error:v}}finally{try{g&&!g.done&&(n=h.return)&&n.call(h)}finally{if(e)throw e.error}}try{if(!((d=(c=(a=t.autocapture)===null||a===void 0?void 0:a.networkTracking)===null||c===void 0?void 0:c.captureRules)===null||d===void 0)&&d.length)try{for(var f=H(t.autocapture.networkTracking.captureRules),p=f.next();!p.done;p=f.next()){var A=p.value;try{for(var X=(r=void 0,H(["responseHeaders","requestHeaders"])),y=X.next();!y.done;y=X.next()){var I=y.value,S=(s=A[I])!==null&&s!==void 0?s:{},G=S.captureSafeHeaders,B=S.allowlist;if(!(!G&&!B)){if(B!==void 0&&!Array.isArray(B)){delete A[I];continue}A[I]=_(_([],U(G?Zi:[]),!1),U(B??[]),!1)}}}catch(v){r={error:v}}finally{try{y&&!y.done&&(o=X.return)&&o.call(X)}finally{if(r)throw r.error}}}}catch(v){i={error:v}}finally{try{p&&!p.done&&(l=f.return)&&l.call(f)}finally{if(i)throw i.error}}}catch{}}}function Co(t,e,n){var i,l,r=[];try{for(var o=H(e??[]),a=o.next();!a.done;a=o.next()){var c=a.value;try{r.push(new RegExp(c))}catch(d){n.loggerProvider.warn("Invalid regex pattern: ".concat(c),d)}}}catch(d){i={error:d}}finally{try{a&&!a.done&&(l=o.return)&&l.call(o)}finally{if(i)throw i.error}}return t.concat(r)}function pb(t,e){var n,i,l,r,o,a,c;if(t){Oc(t);try{e.loggerProvider.debug("Update browser config with remote configuration:",JSON.stringify(t));var d=t;if(d&&"autocapture"in d){if(typeof d.autocapture=="boolean"&&(e.autocapture=d.autocapture),typeof d.autocapture=="object"&&d.autocapture!==null){var s=N({},d.autocapture);if(e.autocapture===void 0&&(e.autocapture=d.autocapture),typeof d.autocapture.elementInteractions=="object"&&d.autocapture.elementInteractions!==null&&(!((l=d.autocapture.elementInteractions.pageUrlAllowlistRegex)===null||l===void 0)&&l.length)){s.elementInteractions=N({},d.autocapture.elementInteractions);var u=s.elementInteractions,h=(r=u.pageUrlAllowlist)!==null&&r!==void 0?r:[],g=d.autocapture.elementInteractions.pageUrlAllowlistRegex;u.pageUrlAllowlist=Co(h,g,e),delete u.pageUrlAllowlistRegex}if(typeof d.autocapture.networkTracking=="object"&&d.autocapture.networkTracking!==null&&(!((o=d.autocapture.networkTracking.captureRules)===null||o===void 0)&&o.length)){s.networkTracking=N({},d.autocapture.networkTracking);var b=s.networkTracking,m=(a=b.captureRules)!==null&&a!==void 0?a:[];try{for(var f=H(m),p=f.next();!p.done;p=f.next()){var A=p.value;A.urls=Co((c=A.urls)!==null&&c!==void 0?c:[],A.urlsRegex,e),delete A.urlsRegex}}catch(X){n={error:X}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(n)throw n.error}}}typeof e.autocapture=="boolean"&&(e.autocapture=N({attribution:e.autocapture,fileDownloads:e.autocapture,formInteractions:e.autocapture,pageViews:e.autocapture,sessions:e.autocapture,elementInteractions:e.autocapture,webVitals:e.autocapture,frustrationInteractions:e.autocapture},s)),typeof e.autocapture=="object"&&(e.autocapture=N(N({},e.autocapture),s))}e.defaultTracking=e.autocapture}e.loggerProvider.debug("Browser config after remote config update:",JSON.stringify(e))}catch(X){e.loggerProvider.error("Failed to apply remote configuration because of error: ",X)}}}var Ri;(function(t){t.US="US",t.EU="EU",t.STAGING="STAGING"})(Ri||(Ri={}));var xe;(function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"})(xe||(xe={}));var Zb=(function(){function t(){}return t.prototype.send=function(e,n){return Promise.resolve(null)},t.prototype.buildResponse=function(e){var n,i,l,r,o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S,G;if(typeof e!="object")return null;var B=e.code||0,v=this.buildStatus(B);switch(v){case xe.Success:return{status:v,statusCode:B,body:{eventsIngested:(n=e.events_ingested)!==null&&n!==void 0?n:0,payloadSizeBytes:(i=e.payload_size_bytes)!==null&&i!==void 0?i:0,serverUploadTime:(l=e.server_upload_time)!==null&&l!==void 0?l:0}};case xe.Invalid:return{status:v,statusCode:B,body:{error:(r=e.error)!==null&&r!==void 0?r:"",missingField:(o=e.missing_field)!==null&&o!==void 0?o:"",eventsWithInvalidFields:(a=e.events_with_invalid_fields)!==null&&a!==void 0?a:{},eventsWithMissingFields:(c=e.events_with_missing_fields)!==null&&c!==void 0?c:{},eventsWithInvalidIdLengths:(d=e.events_with_invalid_id_lengths)!==null&&d!==void 0?d:{},epsThreshold:(s=e.eps_threshold)!==null&&s!==void 0?s:0,exceededDailyQuotaDevices:(u=e.exceeded_daily_quota_devices)!==null&&u!==void 0?u:{},silencedDevices:(h=e.silenced_devices)!==null&&h!==void 0?h:[],silencedEvents:(g=e.silenced_events)!==null&&g!==void 0?g:[],throttledDevices:(b=e.throttled_devices)!==null&&b!==void 0?b:{},throttledEvents:(m=e.throttled_events)!==null&&m!==void 0?m:[]}};case xe.PayloadTooLarge:return{status:v,statusCode:B,body:{error:(f=e.error)!==null&&f!==void 0?f:""}};case xe.RateLimit:return{status:v,statusCode:B,body:{error:(p=e.error)!==null&&p!==void 0?p:"",epsThreshold:(A=e.eps_threshold)!==null&&A!==void 0?A:0,throttledDevices:(X=e.throttled_devices)!==null&&X!==void 0?X:{},throttledUsers:(y=e.throttled_users)!==null&&y!==void 0?y:{},exceededDailyQuotaDevices:(I=e.exceeded_daily_quota_devices)!==null&&I!==void 0?I:{},exceededDailyQuotaUsers:(S=e.exceeded_daily_quota_users)!==null&&S!==void 0?S:{},throttledEvents:(G=e.throttled_events)!==null&&G!==void 0?G:[]}};case xe.Timeout:default:return{status:v,statusCode:B}}},t.prototype.buildStatus=function(e){return e>=200&&e<300?xe.Success:e===429?xe.RateLimit:e===413?xe.PayloadTooLarge:e===408?xe.Timeout:e>=400&&e<500?xe.Invalid:e>=500?xe.Failed:xe.Unknown},t})(),Gb="Network error occurred, remote config fetch failed",Xb="Remote config successfully fetched",Ib="Remote config fetch rejected due to exceeded retry count",Wo="Remote config fetch rejected due to timeout after 5 seconds",Bo="Unexpected error occurred",Rb="https://sr-client-cfg.amplitude.com/config",Eb="https://sr-client-cfg.stag2.amplitude.com/config",yb="https://sr-client-cfg.eu.amplitude.com/config",vb=(function(){function t(e){var n=e.localConfig,i=e.configKeys,l=this;this.retryTimeout=1e3,this.attempts=0,this.sessionTargetingMatch=!1,this.metrics={},this.getRemoteNamespaceConfig=function(r,o){return W(l,void 0,void 0,function(){var a,c,d;return C(this,function(s){switch(s.label){case 0:return a=Date.now(),[4,this.fetchWithTimeout(o)];case 1:return c=s.sent(),c&&(d=c.configs&&c.configs[r],d)?(this.metrics.fetchTimeAPISuccess=Date.now()-a,[2,d]):(this.metrics.fetchTimeAPIFail=Date.now()-a,[2,void 0])}})})},this.getRemoteConfig=function(r,o,a){return W(l,void 0,void 0,function(){var c;return C(this,function(d){switch(d.label){case 0:return[4,this.getRemoteNamespaceConfig(r,a)];case 1:return c=d.sent(),[2,c==null?void 0:c[o]]}})})},this.fetchWithTimeout=function(r){return W(l,void 0,void 0,function(){var o,a,c;return C(this,function(d){switch(d.label){case 0:return o=new AbortController,a=setTimeout(function(){return o.abort()},5e3),[4,this.fetchRemoteConfig(o.signal,r)];case 1:return c=d.sent(),clearTimeout(a),[2,c]}})})},this.fetchRemoteConfig=function(r,o){return W(l,void 0,void 0,function(){var a,c,d,s,u,h,g,b,m,f,p,A,X;return C(this,function(y){switch(y.label){case 0:if(o===this.lastFetchedSessionId&&this.attempts>=this.localConfig.flushMaxRetries)return[2,this.completeRequest({err:Ib})];if(r.aborted)return[2,this.completeRequest({err:Wo})];o!==this.lastFetchedSessionId&&(this.lastFetchedSessionId=o,this.attempts=0),y.label=1;case 1:y.trys.push([1,3,,4]),a=new URLSearchParams({api_key:this.localConfig.apiKey});try{for(c=H(this.configKeys),d=c.next();!d.done;d=c.next())s=d.value,a.append("config_keys",s)}catch(I){p={error:I}}finally{try{d&&!d.done&&(A=c.return)&&A.call(c)}finally{if(p)throw p.error}}return o&&a.set("session_id",String(o)),u={headers:{Accept:"*/*"},method:"GET"},h="".concat(this.getServerUrl(),"?").concat(a.toString()),this.attempts+=1,[4,fetch(h,N(N({},u),{signal:r}))];case 2:if(g=y.sent(),g===null)return[2,this.completeRequest({err:Bo})];switch(b=new Zb().buildStatus(g.status),b){case xe.Success:return this.attempts=0,[2,this.parseAndStoreConfig(g)];case xe.Failed:return[2,this.retryFetch(r,o)];default:return[2,this.completeRequest({err:Gb})]}case 3:return m=y.sent(),f=m,r.aborted?[2,this.completeRequest({err:Wo})]:[2,this.completeRequest({err:(X=f.message)!==null&&X!==void 0?X:Bo})];case 4:return[2]}})})},this.retryFetch=function(r,o){return W(l,void 0,void 0,function(){var a=this;return C(this,function(c){switch(c.label){case 0:return[4,new Promise(function(d){return setTimeout(d,a.attempts*a.retryTimeout)})];case 1:return c.sent(),[2,this.fetchRemoteConfig(r,o)]}})})},this.parseAndStoreConfig=function(r){return W(l,void 0,void 0,function(){var o;return C(this,function(a){switch(a.label){case 0:return[4,r.json()];case 1:return o=a.sent(),this.completeRequest({success:Xb}),[2,o]}})})},this.localConfig=n,this.configKeys=i}return t.prototype.getServerUrl=function(){return this.localConfig.configServerUrl?this.localConfig.configServerUrl:this.localConfig.serverZone===Ri.STAGING?Eb:this.localConfig.serverZone===Ri.EU?yb:Rb},t.prototype.completeRequest=function(e){var n=e.err,i=e.success;if(n)throw new Error(n);i&&this.localConfig.loggerProvider.log(i)},t})(),Sb=function(t){var e=t.localConfig,n=t.configKeys;return W(void 0,void 0,void 0,function(){return C(this,function(i){return[2,new vb({localConfig:e,configKeys:n})]})})},Cb=Sb,Wb="@amplitude/plugin-autocapture-browser",Bb="@amplitude/plugin-frustration-browser",Gl="[Amplitude] Element Clicked",Nb="[Amplitude] Dead Click",No="[Amplitude] Rage Click",Fb="[Amplitude] Element Changed",Yb="[Amplitude] Element ID",Ub="[Amplitude] Element Class",Fo="[Amplitude] Element Tag",Yo="[Amplitude] Element Text",Jb="[Amplitude] Element Hierarchy",xb="[Amplitude] Element Href",wb="[Amplitude] Element Position Left",kb="[Amplitude] Element Position Top",zb="[Amplitude] Element Aria Label",Qb="[Amplitude] Element Attributes",Lb="[Amplitude] Element Parent Label",Uo="[Amplitude] Page URL",Kb="[Amplitude] Page Title",Tb="[Amplitude] Viewport Height",Mb="[Amplitude] Viewport Width",si="https://app.amplitude.com",Hb="https://app.eu.amplitude.com",Db="https://apps.stag2.amplitude.com",_b={US:si,EU:Hb,STAGING:Db},jb="https://cdn.amplitude.com/libs/visual-tagging-selector-1.0.0-alpha.js.gz",Pb="amp-visual-tagging-selector-highlight",$c="data-amp-mask-attributes",fn="data-amp-mask",yt="*****",Ob=25;function oe(t){return typeof t=="function"}function jl(t){var e=function(i){Error.call(i),i.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var tl=jl(function(t){return function(n){t(this),this.message=n?n.length+` errors occurred during unsubscription: `+n.map(function(i,l){return l+1+") "+i.toString()}).join(` `):"",this.name="UnsubscriptionError",this.errors=n}});function Ei(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var xn=(function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,i,l,r;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=H(o),c=a.next();!c.done;c=a.next()){var d=c.value;d.remove(this)}}catch(m){e={error:m}}finally{try{c&&!c.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}else o.remove(this);var s=this.initialTeardown;if(oe(s))try{s()}catch(m){r=m instanceof tl?m.errors:[m]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var h=H(u),g=h.next();!g.done;g=h.next()){var b=g.value;try{Jo(b)}catch(m){r=r??[],m instanceof tl?r=_(_([],U(r)),U(m.errors)):r.push(m)}}}catch(m){i={error:m}}finally{try{g&&!g.done&&(l=h.return)&&l.call(h)}finally{if(i)throw i.error}}}if(r)throw new tl(r)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)Jo(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&Ei(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&Ei(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=(function(){var e=new t;return e.closed=!0,e})(),t})(),qc=xn.EMPTY;function ed(t){return t instanceof xn||t&&"closed"in t&&oe(t.remove)&&oe(t.add)&&oe(t.unsubscribe)}function Jo(t){oe(t)?t():t.unsubscribe()}var $b={Promise:void 0},qb={setTimeout:function(t,e){for(var n=[],i=2;i0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var i=this,l=this,r=l.hasError,o=l.isStopped,a=l.observers;return r||o?qc:(this.currentObservers=null,a.push(n),new xn(function(){i.currentObservers=null,Ei(a,n)}))},e.prototype._checkFinalizedStatuses=function(n){var i=this,l=i.hasError,r=i.thrownError,o=i.isStopped;l?n.error(r):o&&n.complete()},e.prototype.asObservable=function(){var n=new Re;return n.source=this,n},e.create=function(n,i){return new wo(n,i)},e})(Re),wo=(function(t){Me(e,t);function e(n,i){var l=t.call(this)||this;return l.destination=n,l.source=i,l}return e.prototype.next=function(n){var i,l;(l=(i=this.destination)===null||i===void 0?void 0:i.next)===null||l===void 0||l.call(i,n)},e.prototype.error=function(n){var i,l;(l=(i=this.destination)===null||i===void 0?void 0:i.error)===null||l===void 0||l.call(i,n)},e.prototype.complete=function(){var n,i;(i=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||i===void 0||i.call(n)},e.prototype._subscribe=function(n){var i,l;return(l=(i=this.source)===null||i===void 0?void 0:i.subscribe(n))!==null&&l!==void 0?l:qc},e})(id),dV={now:function(){return Date.now()}},sV=(function(t){Me(e,t);function e(n,i){return t.call(this)||this}return e.prototype.schedule=function(n,i){return this},e})(xn),ko={setInterval:function(t,e){for(var n=[],i=2;i0&&p(l)},void 0,void 0,function(){b!=null&&b.closed||b==null||b.unsubscribe(),m=null})),!f&&p(i!=null?typeof i=="number"?i:+i-c.now():l)})}function NV(t){throw new WV(t)}function Ne(t,e){return it(function(n,i){var l=0;n.subscribe(ze(i,function(r){i.next(t.call(e,r,l++))}))})}var FV=Array.isArray;function YV(t,e){return FV(e)?t.apply(void 0,_([],U(e))):t(e)}function UV(t){return Ne(function(e){return YV(t,e)})}function JV(t,e,n,i,l,r,o,a){var c=[],d=0,s=0,u=!1,h=function(){u&&!c.length&&!d&&e.complete()},g=function(m){return d0&&(s=new Sn({next:function(S){return I.next(S)},error:function(S){m=!0,f(),u=nl(p,l,S),I.error(S)},complete:function(){b=!0,f(),u=nl(p,o),I.complete()}}),Qe(X).subscribe(s))})(d)}}function nl(t,e){for(var n=[],i=2;i0&&Al(window.location.href,c))return!1;var u=String(l==null?void 0:l.getAttribute("type"))||"";if(typeof u=="string")switch(u.toLowerCase()){case"hidden":return!1;case"password":return!1}var h=Zd(l,i);if(n&&h)return!0;if(e){var g=e.some(function(b){var m;return!!(!((m=l==null?void 0:l.matches)===null||m===void 0)&&m.call(l,b))});if(!g)return!1}switch(s){case"input":case"select":case"textarea":return i==="change"||i==="click";default:return h?!0:i==="click"}}},l0=function(t){var e,n,i,l=(n=(e=t==null?void 0:t.tagName)===null||e===void 0?void 0:e.toLowerCase)===null||n===void 0?void 0:n.call(e),r=t instanceof HTMLElement?((i=t.getAttribute("contenteditable"))===null||i===void 0?void 0:i.toLowerCase())==="true":!1;return!i0.includes(l)&&!r},r0=function(t){return t?t.split(",").map(function(e){return e.trim()}).filter(function(e){return e.length>0&&e!=="id"&&e!=="class"}):[]},o0=function(t,e){return Object.entries(t).reduce(function(n,i){var l=U(i,2),r=l[0],o=l[1];if(r.startsWith(e)){var a=r.replace(e,"");a&&(n[a]=o||"")}return n},{})},a0=function(t){return t==null||typeof t=="object"&&Object.keys(t).length===0||typeof t=="string"&&t.trim().length===0},Lo=function(t){return Object.keys(t).reduce(function(e,n){var i=t[n];return a0(i)||(e[n]=i),e},{})},nr=function(t,e){return t?e.some(function(n){var i;return(i=t==null?void 0:t.matches)===null||i===void 0?void 0:i.call(t,n)})?t:nr(t==null?void 0:t.parentElement,e):null},c0=function(t){return new Promise(function(e,n){var i;try{var l=document.createElement("script");l.type="text/javascript",l.async=!0,l.src=t,l.addEventListener("load",function(){e({status:!0})},{once:!0}),l.addEventListener("error",function(){n({status:!1,message:"Failed to load the script ".concat(t)})}),(i=document.head)===null||i===void 0||i.appendChild(l)}catch(r){n(r)}})};function d0(){return"".concat(Date.now(),"-").concat(Math.random().toString(36).substr(2,9))}var zn=function(t){return!(t.event.target===null||!t.closestTrackedAncestor)};function s0(t){return t.type==="click"||t.type==="change"}var u0="1.13.0",g0=new Set(["id","class","style","value","onclick","onchange","oninput","onblur","onsubmit","onfocus","onkeydown","onkeyup","onkeypress","data-reactid","data-react-checksum","data-reactroot",$c,fn]),h0=["type"],b0=["svg","path","g"],V0=["password","hidden"],m0=128;function f0(t,e){var n,i,l,r,o,a;if(t===null)return null;var c=String(t.tagName).toLowerCase(),d={tag:c},s=Array.from((r=(l=t.parentElement)===null||l===void 0?void 0:l.children)!==null&&r!==void 0?r:[]);s.length&&(d.index=s.indexOf(t),d.indexOfType=s.filter(function(I){return I.tagName===t.tagName}).indexOf(t));var u=(a=(o=t.previousElementSibling)===null||o===void 0?void 0:o.tagName)===null||a===void 0?void 0:a.toLowerCase();u&&(d.prevSib=String(u));var h=t.getAttribute("id");h&&(d.id=String(h));var g=Array.from(t.classList);g.length&&(d.classes=g);var b={},m=Array.from(t.attributes),f=m.filter(function(I){return!g0.has(I.name)}),p=!l0(t);if(!V0.includes(String(t.getAttribute("type")))&&!b0.includes(c))try{for(var A=H(f),X=A.next();!X.done;X=A.next()){var y=X.value;if(!(p&&!h0.includes(y.name))){if(e.has(y.name)){b[y.name]=yt;continue}b[y.name]=String(y.value).substring(0,m0)}}}catch(I){n={error:I}}finally{try{X&&!X.done&&(i=A.return)&&i.call(A)}finally{if(n)throw n.error}}return Object.keys(b).length&&(d.attrs=b),d}function A0(t){var e=[];if(!t)return e;e.push(t);for(var n=t.parentElement;n&&n.tagName!=="HTML";)e.push(n),n=n.parentElement;return e}var p0=function(t,e){try{if(t.sourceType==="DOM_ELEMENT"){var n=document.documentElement;return t.scope&&e&&(n=e.closest(t.scope)),n&&t.selector?n.querySelector(t.selector):n}}catch{return}},Z0=function(t,e,n){t.forEach(function(i){if(typeof i!="string"&&i.actionType==="ATTACH_EVENT_PROPERTY"){var l=n.extractDataFromDataSource(i.dataSource,e.closestTrackedAncestor);e.targetElementProperties[i.destinationKey]=l}})},G0=/\b(?:\d[ -]*?){13,16}\b/,X0=/(\d{3}-?\d{2}-?\d{4})/g,I0=/[^\s@]+@[^\s@.]+\.[^\s@]+/g,ir=(function(){function t(e){var n,i,l=this,r;this.replaceSensitiveString=function(u){var h,g;if(typeof u!="string")return"";var b=u;b=b.replace(G0,yt),b=b.replace(X0,yt),b=b.replace(I0,yt);try{for(var m=H(l.additionalMaskTextPatterns),f=m.next();!f.done;f=m.next()){var p=f.value;try{b=b.replace(p,yt)}catch{}}}catch(A){h={error:A}}finally{try{f&&!f.done&&(g=m.return)&&g.call(m)}finally{if(h)throw h.error}}return b},this.getHierarchy=function(u){var h,g,b,m=[];if(!u)return[];for(var f=A0(u),p=new Map,A=f.length-1;A>=0;A--){var X=f[A];if(X){var y=r0(X.getAttribute($c)),I=A===f.length-1?[]:(b=p.get(f[A+1]))!==null&&b!==void 0?b:new Set,S=new Set(_(_([],U(I),!1),U(y),!1));p.set(X,S)}}m=f.map(function(w){var L;return f0(w,(L=p.get(w))!==null&&L!==void 0?L:new Set)});var G=function(w){w!=null&&w.attrs&&Object.entries(w.attrs).forEach(function(L){var O=U(L,2),$=O[0],Ae=O[1];w.attrs&&(w.attrs[$]=l.replaceSensitiveString(Ae))})};try{for(var B=H(m),v=B.next();!v.done;v=B.next()){var J=v.value;G(J)}}catch(w){h={error:w}}finally{try{v&&!v.done&&(g=B.return)&&g.call(B)}finally{if(h)throw h.error}}return m},this.getNearestLabel=function(u){var h=u.parentElement;if(!h)return"";var g;try{g=h.querySelector(":scope>span,h1,h2,h3,h4,h5,h6")}catch{g=null}return g?l.getText(g):l.getNearestLabel(h)},this.getEventProperties=function(u,h,g){var b,m,f,p,A=(f=(m=h==null?void 0:h.tagName)===null||m===void 0?void 0:m.toLowerCase)===null||f===void 0?void 0:f.call(m),X=typeof h.getBoundingClientRect=="function"?h.getBoundingClientRect():{left:null,top:null},y=l.getHierarchy(h),I=(p=y[0])===null||p===void 0?void 0:p.attrs,S=l.getNearestLabel(h),G=o0(I??{},g),B=(b={},b[Jb]=y,b[Fo]=A,b[Yo]=l.getText(h),b[wb]=X.left==null?null:Math.round(X.left),b[kb]=X.top==null?null:Math.round(X.top),b[Qb]=G,b[Lb]=S,b[Uo]=ih(window.location.href.split("?")[0]),b[Kb]=l.getPageTitle(),b[Tb]=window.innerHeight,b[Mb]=window.innerWidth,b);return B[Yb]=h.getAttribute("id")||"",B[Ub]=h.getAttribute("class"),B[zb]=I==null?void 0:I["aria-label"],A==="a"&&u==="click"&&h instanceof HTMLAnchorElement&&(B[xb]=l.replaceSensitiveString(h.href)),Lo(B)},this.addAdditionalEventProperties=function(u,h,g,b,m){m===void 0&&(m=!1);var f={event:u,timestamp:Date.now(),type:h};if(s0(f)&&f.event.target!==null){if(m){var p=Zd(f.event.target,f.type);if(p)return f.closestTrackedAncestor=f.event.target,f.targetElementProperties=l.getEventProperties(f.type,f.closestTrackedAncestor,b),f}var A=nr(f.event.target,g);return A&&(f.closestTrackedAncestor=A,f.targetElementProperties=l.getEventProperties(f.type,A,b)),f}return f},this.extractDataFromDataSource=function(u,h){if(u.sourceType==="DOM_ELEMENT"){var g=p0(u,h);return g?u.elementExtractType==="TEXT"?l.getText(g):u.elementExtractType==="ATTRIBUTE"&&u.attribute?g.getAttribute(u.attribute):void 0:void 0}},this.getText=function(u){var h=u.closest("[".concat(fn,"]"))!==null;if(h)return yt;var g="";if(!u.querySelector("[".concat(fn,"], [contenteditable]")))g=u.innerText||"";else{var b=u.cloneNode(!0);b.querySelectorAll("[".concat(fn,"], [contenteditable]")).forEach(function(m){m.innerText=yt}),g=b.innerText||""}return l.replaceSensitiveString(g.substring(0,255)).replace(/\s+/g," ").trim()},this.getPageTitle=function(){if(typeof document>"u")return"";var u=document.querySelector("title");return u&&u.hasAttribute(fn)?yt:l.replaceSensitiveString(document.title)},this.getEventTagProps=function(u){var h,g,b;if(!u)return{};var m=(b=(g=u==null?void 0:u.tagName)===null||g===void 0?void 0:g.toLowerCase)===null||b===void 0?void 0:b.call(g),f=(h={},h[Fo]=m,h[Yo]=l.getText(u),h[Uo]=window.location.href.split("?")[0],h);return Lo(f)};var o=(r=e.maskTextRegex)!==null&&r!==void 0?r:[],a=[];try{for(var c=H(o),d=c.next();!d.done;d=c.next()){var s=d.value;if(a.length>=Ob)break;if(s instanceof RegExp)a.push(s);else if("pattern"in s&&typeof s.pattern=="string")try{a.push(new RegExp(s.pattern,"i"))}catch{}}}catch(u){n={error:u}}finally{try{d&&!d.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}this.additionalMaskTextPatterns=a}return t})(),R0=(function(){function t(e){var n=e===void 0?{}:e,i=n.origin,l=i===void 0?si:i,r=this;this.endpoint=si,this.requestCallbacks={},this.onSelect=function(o){r.notify({action:"element-selected",data:o})},this.onTrack=function(o,a){o==="selector-mode-changed"?r.notify({action:"track-selector-mode-changed",data:a}):o==="selector-moved"&&r.notify({action:"track-selector-moved",data:a})},this.endpoint=l}return t.prototype.notify=function(e){var n,i,l,r;(i=(n=this.logger)===null||n===void 0?void 0:n.debug)===null||i===void 0||i.call(n,"Message sent: ",JSON.stringify(e)),(r=(l=window.opener)===null||l===void 0?void 0:l.postMessage)===null||r===void 0||r.call(l,e,this.endpoint)},t.prototype.sendRequest=function(e,n,i){var l=this;i===void 0&&(i={timeout:15e3});var r=d0(),o={id:r,action:e,args:n},a=new Promise(function(c,d){l.requestCallbacks[r]={resolve:c,reject:d},l.notify(o),(i==null?void 0:i.timeout)>0&&setTimeout(function(){d(new Error("".concat(e," timed out (id: ").concat(r,")"))),delete l.requestCallbacks[r]},i.timeout)});return a},t.prototype.handleResponse=function(e){var n;if(!this.requestCallbacks[e.id]){(n=this.logger)===null||n===void 0||n.warn("No callback found for request id: ".concat(e.id));return}this.requestCallbacks[e.id].resolve(e.responseData),delete this.requestCallbacks[e.id]},t.prototype.setup=function(e){var n=this,i=e===void 0?{dataExtractor:new ir({})}:e,l=i.logger,r=i.endpoint,o=i.isElementSelectable,a=i.cssSelectorAllowlist,c=i.actionClickAllowlist,d=i.dataExtractor;this.logger=l,r&&this.endpoint===si&&(this.endpoint=r);var s=null;window.addEventListener("message",function(u){var h,g,b,m,f;if((g=(h=n.logger)===null||h===void 0?void 0:h.debug)===null||g===void 0||g.call(h,"Message received: ",JSON.stringify(u)),n.endpoint===u.origin){var p=u==null?void 0:u.data,A=p==null?void 0:p.action;if(A)if("id"in p)(m=(b=n.logger)===null||b===void 0?void 0:b.debug)===null||m===void 0||m.call(b,"Received Response to previous request: ",JSON.stringify(u)),n.handleResponse(p);else if(A==="ping")n.notify({action:"pong"});else if(A==="initialize-visual-tagging-selector"){var X=p==null?void 0:p.data;c0(jb).then(function(){var y;s=(y=window==null?void 0:window.amplitudeVisualTaggingSelector)===null||y===void 0?void 0:y.call(window,{getEventTagProps:d.getEventTagProps,isElementSelectable:function(I){return o?o((X==null?void 0:X.actionType)||"click",I):!0},onTrack:n.onTrack,onSelect:n.onSelect,visualHighlightClass:Pb,messenger:n,cssSelectorAllowlist:a,actionClickAllowlist:c,extractDataFromDataSource:d.extractDataFromDataSource,dataExtractor:d,diagnostics:{autocapture:{version:u0}}}),n.notify({action:"selector-loaded"})}).catch(function(){var y;(y=n.logger)===null||y===void 0||y.warn("Failed to initialize visual tagging selector")})}else A==="close-visual-tagging-selector"&&((f=s==null?void 0:s.close)===null||f===void 0||f.call(s))}}),this.notify({action:"page-loaded"})},t})(),E0=5;function y0(t){var e=t.amplitude,n=t.allObservables,i=t.options,l=t.shouldTrackEvent,r=t.evaluateTriggers,o=n.clickObservable,a=o.pipe(qV(),ke(function(u){var h=U(u,2),g=h[0],b=h[1],m=g.event.target!==b.event.target,f=Math.abs(b.event.screenX-g.event.screenX)<=20&&Math.abs(b.event.screenY-g.event.screenY)<=20;return m&&!f})),c=o.pipe(jV(i.debounceTime),Ne(function(){return"timeout"})),d=er(a,c),s=o.pipe($V(0),ke(zn),ke(function(u){return l("click",u.closestTrackedAncestor)}),Ne(function(u){return r(u)}),_V(d));return s.subscribe(function(u){var h,g,b=(u.length>=E0,Gl);try{for(var m=H(u),f=m.next();!f.done;f=m.next()){var p=f.value;e==null||e.track(b,p.targetElementProperties)}}catch(A){h={error:A}}finally{try{f&&!f.done&&(g=m.return)&&g.call(m)}finally{if(h)throw h.error}}})}function v0(t){var e=t.amplitude,n=t.allObservables,i=t.getEventProperties,l=t.shouldTrackEvent,r=t.evaluateTriggers,o=n.changeObservable,a=o.pipe(ke(zn),ke(function(c){return l("change",c.closestTrackedAncestor)}),Ne(function(c){return r(c)}));return a.subscribe(function(c){e==null||e.track(Fb,i("change",c.closestTrackedAncestor))})}function S0(t){var e=t.amplitude,n=t.allObservables,i=t.options,l=t.getEventProperties,r=t.shouldTrackEvent,o=t.shouldTrackActionClick,a=n.clickObservable,c=n.mutationObservable,d=n.navigateObservable,s=a.pipe(ke(function(b){return!r("click",b.closestTrackedAncestor)}),Ne(function(b){var m=nr(b.event.target,i.actionClickAllowlist);return b.closestTrackedAncestor=m,b.closestTrackedAncestor!==null&&(b.targetElementProperties=l(b.type,b.closestTrackedAncestor)),b}),ke(zn),ke(function(b){return o("click",b.closestTrackedAncestor)})),u=[c];d&&u.push(d);var h=er.apply(void 0,_([],U(u),!1)),g=s.pipe(e0(function(b){return h.pipe(tr(1),BV({first:500,with:function(){return $l}}),Ne(function(){return b}))}));return g.subscribe(function(b){e==null||e.track(Gl,l("click",b.closestTrackedAncestor))})}var Gd=function(){return new Re(function(t){var e=new MutationObserver(function(n){t.next(n)});return e.observe(document.body,{childList:!0,attributes:!0,characterData:!0,subtree:!0}),function(){return e.disconnect()}})},Xd=function(t){return t===void 0&&(t="click"),ln(document,t,{capture:!0})},C0=function(t,e){try{if(e.subprop_key==="[Amplitude] Element Text")return e.subprop_op==="is"&&e.subprop_value.includes(t.targetElementProperties["[Amplitude] Element Text"]);if(e.subprop_key==="[Amplitude] Element Hierarchy")return e.subprop_op==="autotrack css match"&&!!t.closestTrackedAncestor.closest(e.subprop_value.toString())}catch(n){return console.error("Error matching event to filter",n),!1}return!1},Il={"[Amplitude] Element Clicked":"click","[Amplitude] Element Changed":"change"},Ko=function(t){var e,n,i,l,r=Object.values(Il).reduce(function(g,b){return g[b]=new Set,g},{});if(!t)return r;try{for(var o=H(t),a=o.next();!a.done;a=o.next()){var c=a.value;try{try{for(var d=(i=void 0,H(c.definition)),s=d.next();!s.done;s=d.next()){var u=s.value,h=Il[u.event_type];h&&r[h].add(c.id)}}catch(g){i={error:g}}finally{try{s&&!s.done&&(l=d.return)&&l.call(d)}finally{if(i)throw i.error}}}catch(g){console.warn("Skipping Labeled Event due to malformed definition",c==null?void 0:c.id,g)}}}catch(g){e={error:g}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}return r},To=function(t){var e,n,i,l,r=new Map;try{for(var o=H(t),a=o.next();!a.done;a=o.next()){var c=a.value;try{for(var d=(i=void 0,H(c.conditions)),s=d.next();!s.done;s=d.next()){var u=s.value;if(u.type==="LABELED_EVENT"){var h=u.match.eventId,g=r.get(h);g||(g=[],r.set(h,g)),g.push(c)}}}catch(b){i={error:b}}finally{try{s&&!s.done&&(l=d.return)&&l.call(d)}finally{if(i)throw i.error}}}}catch(b){e={error:b}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}return r},W0=function(t,e){return e.filter(function(n){return n.definition.some(function(i){return Il[i.event_type]===t.type&&i.filters.every(function(l){return C0(t,l)})})})},B0=function(t,e){var n,i,l,r,o=new Set;try{for(var a=H(t),c=a.next();!c.done;c=a.next()){var d=c.value,s=e.get(d.id);if(s)try{for(var u=(l=void 0,H(s)),h=u.next();!h.done;h=u.next()){var g=h.value;o.add(g)}}catch(b){l={error:b}}finally{try{h&&!h.done&&(r=u.return)&&r.call(u)}finally{if(l)throw l.error}}}}catch(b){n={error:b}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return Array.from(o)},N0=(function(){function t(e,n,i,l){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=n,this.dataExtractor=i,this.options=l}return t.prototype.evaluate=function(e){var n,i,l=this.options.pageActions;if(!l)return e;var r=W0(e,Array.from(this.groupedLabeledEvents[e.type]).map(function(s){return l.labeledEvents[s]})),o=B0(r,this.labeledEventToTriggerMap);try{for(var a=H(o),c=a.next();!c.done;c=a.next()){var d=c.value;Z0(d.actions,e,this.dataExtractor)}}catch(s){n={error:s}}finally{try{c&&!c.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return e},t.prototype.update=function(e,n,i){this.groupedLabeledEvents=e,this.labeledEventToTriggerMap=n,this.options=i},t})(),F0=function(t,e,n,i){return new N0(t,e,n,i)},Vt;(function(t){t.ClickObservable="clickObservable",t.ChangeObservable="changeObservable",t.NavigateObservable="navigateObservable",t.MutationObservable="mutationObservable"})(Vt||(Vt={}));var Y0=function(t){var e,n,i,l,r,o,a,c;t===void 0&&(t={});var d=t.dataAttributePrefix,s=d===void 0?Jc:d,u=t.visualTaggingOptions,h=u===void 0?{enabled:!0,messenger:new R0}:u;t.cssSelectorAllowlist=(e=t.cssSelectorAllowlist)!==null&&e!==void 0?e:ch,t.actionClickAllowlist=(n=t.actionClickAllowlist)!==null&&n!==void 0?n:dh,t.debounceTime=(i=t.debounceTime)!==null&&i!==void 0?i:0,t.pageUrlExcludelist=(l=t.pageUrlExcludelist)===null||l===void 0?void 0:l.reduce(function(v,J){if(typeof J=="string"&&v.push(J),J instanceof RegExp&&v.push(J),typeof J=="object"&&J!==null&&"pattern"in J)try{v.push(new RegExp(J.pattern))}catch(w){return console.warn("Invalid regex pattern: ".concat(J.pattern),w),v}return v},[]);var g=Wb,b="enrichment",m=[],f=new ir(t),p=function(){var v,J=Xd().pipe(Ne(function($){return f.addAdditionalEventProperties($,"click",t.cssSelectorAllowlist,s)}),kt()),w=ln(document,"change",{capture:!0}).pipe(Ne(function($){return f.addAdditionalEventProperties($,"change",t.cssSelectorAllowlist,s)}),kt()),L;window.navigation&&(L=ln(window.navigation,"navigate").pipe(Ne(function($){return f.addAdditionalEventProperties($,"navigate",t.cssSelectorAllowlist,s)}),kt()));var O=Gd().pipe(Ne(function($){return f.addAdditionalEventProperties($,"mutation",t.cssSelectorAllowlist,s)}),kt());return v={},v[Vt.ClickObservable]=J,v[Vt.ChangeObservable]=w,v[Vt.NavigateObservable]=L,v[Vt.MutationObservable]=O,v},A=Ko(Object.values((o=(r=t.pageActions)===null||r===void 0?void 0:r.labeledEvents)!==null&&o!==void 0?o:{})),X=To((c=(a=t.pageActions)===null||a===void 0?void 0:a.triggers)!==null&&c!==void 0?c:[]),y=F0(A,X,f,t),I=function(v){var J,w;v&&(t.pageActions=N(N({},t.pageActions),v),A=Ko(Object.values((J=t.pageActions.labeledEvents)!==null&&J!==void 0?J:{})),X=To((w=t.pageActions.triggers)!==null&&w!==void 0?w:[]),y.update(A,X,t))},S=function(v,J){return W(void 0,void 0,void 0,function(){var w,L,O,$,Ae,pe,Se,Ue,Ee,Ce;return C(this,function(x){return typeof document>"u"?[2]:(v.fetchRemoteConfig&&Cb({localConfig:v,configKeys:["analyticsSDK.pageActions"]}).then(function(Ve){return W(void 0,void 0,void 0,function(){var q,De,et;return C(this,function(me){switch(me.label){case 0:return me.trys.push([0,2,,3]),[4,Ve.getRemoteConfig("analyticsSDK","pageActions")];case 1:return q=me.sent(),I(q),[3,3];case 2:return De=me.sent(),(et=v==null?void 0:v.loggerProvider)===null||et===void 0||et.error("Failed to fetch remote config: ".concat(String(De))),[3,3];case 3:return[2]}})})}).catch(function(Ve){var q;(q=v==null?void 0:v.loggerProvider)===null||q===void 0||q.error("Failed to create remote config fetch: ".concat(String(Ve)))}),w=Xn(t,t.cssSelectorAllowlist),L=Xn(t,t.actionClickAllowlist),O=p(),$=y0({allObservables:O,options:t,amplitude:J,shouldTrackEvent:w,evaluateTriggers:y.evaluate.bind(y)}),m.push($),Ae=v0({allObservables:O,getEventProperties:function(){for(var Ve=[],q=0;qHo||t.xMax-t.xMin>Ho}function _o(t){var e=t[0],n=t[t.length-1],i=N({"[Amplitude] Begin Time":new Date(e.timestamp).toISOString(),"[Amplitude] End Time":new Date(n.timestamp).toISOString(),"[Amplitude] Duration":n.timestamp-e.timestamp,"[Amplitude] Clicks":t.map(function(l){return{X:l.event.clientX,Y:l.event.clientY,Time:l.timestamp}}),"[Amplitude] Click Count":t.length},e.targetElementProperties);return{rageClickEvent:i,time:e.timestamp}}function J0(t,e){var n=Math.max(0,t.length-Rl+1),i=t[n];return e.timestamp-i.timestamp>=Id}function x0(t,e){return t.length>0&&t[t.length-1].closestTrackedAncestor!==e.closestTrackedAncestor}function w0(t){var e=t.amplitude,n=t.allObservables,i=t.shouldTrackRageClick,l=n.clickObservable,r=[],o={},a;function c(d){r=[],o={},d&&(Do(o,d),r.push(d))}return l.pipe(ke(zn),ke(function(d){return i("click",d.closestTrackedAncestor)}),Ne(function(d){if(a&&clearTimeout(a),Do(o,d),r.length===0)return r.push(d),null;if(x0(r,d)||J0(r,d)||o.isOutOfBounds){var s=r.length>=Rl?_o(r):null;return c(d),s}return r.push(d),r.length>=Rl&&(a=setTimeout(function(){var u=_o(r),h=u.rageClickEvent,g=u.time;e.track(No,h,{time:g}),c()},Id)),null}),ke(function(d){return d!==null})).subscribe(function(d){d!==null&&e.track(No,d.rageClickEvent,{time:d.time})})}var k0=function(t){var e,n,i,l,r;t===void 0&&(t={});var o=Bb,a="enrichment",c=[],d=(n=(e=t.rageClicks)===null||e===void 0?void 0:e.cssSelectorAllowlist)!==null&&n!==void 0?n:gh,s=(l=(i=t.deadClicks)===null||i===void 0?void 0:i.cssSelectorAllowlist)!==null&&l!==void 0?l:uh,u=(r=t.dataAttributePrefix)!==null&&r!==void 0?r:Jc,h=new ir(t),g=_([],U(new Set(_(_([],U(d),!1),U(s),!1))),!1),b=function(){var A,X=Xd("pointerdown").pipe(Ne(function(S){return h.addAdditionalEventProperties(S,"click",g,u,!0)}),kt()),y;window.navigation&&(y=ln(window.navigation,"navigate").pipe(Ne(function(S){return h.addAdditionalEventProperties(S,"navigate",g,u)}),kt()));var I=Gd().pipe(Ne(function(S){return h.addAdditionalEventProperties(S,"mutation",g,u)}),kt());return A={},A[Vt.ClickObservable]=X,A[Vt.ChangeObservable]=new Re,A[Vt.NavigateObservable]=y,A[Vt.MutationObservable]=I,A},m=function(A,X){return W(void 0,void 0,void 0,function(){var y,I,S,G,B,v;return C(this,function(J){return typeof document>"u"?[2]:(y=Xn(t,d),I=Xn(t,s),S=b(),G=w0({allObservables:S,amplitude:X,shouldTrackRageClick:y}),c.push(G),B=U0({amplitude:X,allObservables:S,getEventProperties:function(w,L){return h.getEventProperties(w,L,u)},shouldTrackDeadClick:I}),c.push(B),(v=A==null?void 0:A.loggerProvider)===null||v===void 0||v.log("".concat(o," has been successfully added.")),[2])})})},f=function(A){return W(void 0,void 0,void 0,function(){return C(this,function(X){return[2,A]})})},p=function(){return W(void 0,void 0,void 0,function(){var A,X,y,I,S;return C(this,function(G){try{for(A=H(c),X=A.next();!X.done;X=A.next())y=X.value,y.unsubscribe()}catch(B){I={error:B}}finally{try{X&&!X.done&&(S=A.return)&&S.call(A)}finally{if(I)throw I.error}}return[2]})})};return{name:o,type:a,setup:m,execute:f,teardown:p}},z0="@amplitude/plugin-network-capture-browser",Rd="[Amplitude] Network Request",Ed="500-599";function gi(t,e){var n=e.replace(/[-[\]{}()+?.,\\^$|#\s]/g,"\\$&"),i="^"+n.replace(/\*/g,".*")+"$",l=new RegExp(i);return l.test(t)}function yd(t,e){var n,i,l=e.split(",");try{for(var r=H(l),o=r.next();!o.done;o=r.next()){var a=o.value,c=U(a.split("-").map(Number),2),d=c[0],s=c[1];if(t===d&&s===void 0||t>=d&&t<=s)return!0}}catch(u){n={error:u}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return!1}function Q0(t,e,n,i,l){if(!(t.hosts&&!t.hosts.find(function(o){return gi(e,o)}))&&!(i&&t.urls&&!Al(i,t.urls))&&!(l&&t.methods&&!t.methods.find(function(o){return l.toLowerCase()===o.toLowerCase()||o==="*"}))){if(n||n===0){var r=t.statusCodeRange||Ed;if(!yd(n,r))return!1}return!0}}function vd(t){var e;if(t)try{var n=(e=Fe())===null||e===void 0?void 0:e.location.href,i=new URL(t,n),l=i.searchParams.toString(),r=i.hash.replace("#",""),o=i.href,a=i.host;i.hash="",i.search="";var c=i.href;return{query:l,fragment:r,href:o,hrefWithoutQueryOrHash:c,host:a}}catch{return}}function L0(t,e){if(t.includes("amplitude.com"))try{var n=e.body;if(typeof n!="string")return!1;var i=JSON.parse(n),l=i.events;if(l.find(function(r){return r.event_type===Rd}))return!0}catch{}return!1}function jo(t){if(typeof t!="object"||t===null){if(t)return _([],U(Zi),!1);if(t===void 0){var e=void 0;return e}return}if(t.length!==0)return t}function Po(t){var e,n;return!(!((e=t==null?void 0:t.allowlist)===null||e===void 0)&&e.length)&&!(!((n=t==null?void 0:t.blocklist)===null||n===void 0)&&n.length)}function K0(t,e){var n;e===void 0&&(e={});var i=vd(t.url);if(!i)return!1;var l=i.host;if(e.ignoreAmplitudeRequests!==!1&&(gi(l,"*.amplitude.com")||gi(l,"amplitude.com"))||!((n=e.ignoreHosts)===null||n===void 0)&&n.find(function(o){return gi(l,o)})||!e.captureRules&&t.status!==void 0&&!yd(t.status,Ed))return!1;if(e.captureRules){var r;if(_([],U(e.captureRules),!1).reverse().find(function(o){if(r=Q0(o,l,t.status,t.url,t.method),r){var a=jo(o.responseHeaders);if(t.responseWrapper&&a){var c=t.responseWrapper.headers(a);c&&(t.responseHeaders=c)}var d=jo(o.requestHeaders);if(t.requestWrapper&&d){var s=t.requestWrapper.headers(d);s&&(t.requestHeaders=s)}t.responseWrapper&&o.responseBody&&!Po(o.responseBody)&&(t.responseBodyJson=t.responseWrapper.json(o.responseBody.allowlist,o.responseBody.blocklist)),t.requestWrapper&&o.requestBody&&!Po(o.requestBody)&&(t.requestBodyJson=t.requestWrapper.json(o.requestBody.allowlist,o.requestBody.blocklist))}return r!==void 0}),!r)return!1}return!(t.requestWrapper&&L0(l,t.requestWrapper))}function T0(t,e,n,i){return W(this,void 0,void 0,function(){var l,r,o;return C(this,function(a){switch(a.label){case 0:return e.requestBodyJson||e.responseBodyJson?[4,Promise.all([e.requestBodyJson,e.responseBodyJson])]:[3,2];case 1:if(l=U.apply(void 0,[a.sent(),2]),r=l[0],o=l[1],r)try{t["[Amplitude] Request Body"]=JSON.stringify(r)}catch(c){i==null||i.debug("Failed to stringify request body",c)}if(o)try{t["[Amplitude] Response Body"]=JSON.stringify(o)}catch{i==null||i.debug("Failed to stringify response body")}a.label=2;case 2:return n==null||n.track(Rd,t),[2]}})})}function M0(t){var e=t.allObservables,n=t.networkTrackingOptions,i=t.amplitude,l=t.loggerProvider,r=e.networkObservable,o=r.pipe(ke(function(a){return K0(a.event,n)}));return o.subscribe(function(a){var c,d,s,u=a.event,h=vd(u.url);if(h){var g=(d=u.responseWrapper)===null||d===void 0?void 0:d.bodySize,b=(s=u.requestWrapper)===null||s===void 0?void 0:s.bodySize,m=(c={},c["[Amplitude] URL"]=h.hrefWithoutQueryOrHash,c["[Amplitude] URL Query"]=h.query,c["[Amplitude] URL Fragment"]=h.fragment,c["[Amplitude] Request Method"]=u.method,c["[Amplitude] Status Code"]=u.status,c["[Amplitude] Start Time"]=u.startTime,c["[Amplitude] Completion Time"]=u.endTime,c["[Amplitude] Duration"]=u.duration,c["[Amplitude] Request Body Size"]=b,c["[Amplitude] Response Body Size"]=g,c["[Amplitude] Request Type"]=u.type,c["[Amplitude] Request Headers"]=u.requestHeaders,c["[Amplitude] Response Headers"]=u.responseHeaders,c);T0(m,u,i,l)}})}var El;(function(t){t.NetworkObservable="networkObservable"})(El||(El={}));var H0=function(t){t===void 0&&(t={});var e=z0,n="enrichment",i,l=[],r=function(s,u){var h={event:s,timestamp:Date.now(),type:u};return h},o=function(){var s,u=new Re(function(h){var g=new Rh(function(b){var m=r(b,"network");h.next(m)});return oo.subscribe(g,i),function(){oo.unsubscribe(g)}});return s={},s[El.NetworkObservable]=u,s},a=function(s,u){return W(void 0,void 0,void 0,function(){var h,g;return C(this,function(b){return typeof document>"u"?[2]:(h=o(),i=s==null?void 0:s.loggerProvider,g=M0({allObservables:h,networkTrackingOptions:t,amplitude:u,loggerProvider:i}),l.push(g),i==null||i.log("".concat(e," has been successfully added.")),[2])})})},c=function(s){return W(void 0,void 0,void 0,function(){return C(this,function(u){return[2,s]})})},d=function(){return W(void 0,void 0,void 0,function(){var s,u,h,g,b;return C(this,function(m){try{for(s=H(l),u=s.next();!u.done;u=s.next())h=u.value,h.unsubscribe()}catch(f){g={error:f}}finally{try{u&&!u.done&&(b=s.return)&&b.call(s)}finally{if(g)throw g.error}}return[2]})})};return{name:e,type:n,setup:a,execute:c,teardown:d}},D0="web-vitals-browser",_0="[Amplitude] Web Vitals";let Sd=-1;const dn=t=>{addEventListener("pageshow",(e=>{e.persisted&&(Sd=e.timeStamp,t(e))}),!0)},At=(t,e,n,i)=>{let l,r;return o=>{e.value>=0&&(o||i)&&(r=e.value-(l??0),(r||l===void 0)&&(l=e.value,e.delta=r,e.rating=((a,c)=>a>c[1]?"poor":a>c[0]?"needs-improvement":"good")(e.value,n),t(e)))}},lr=t=>{requestAnimationFrame((()=>requestAnimationFrame((()=>t()))))},rr=()=>{const t=performance.getEntriesByType("navigation")[0];if(t&&t.responseStart>0&&t.responseStart{const t=rr();return(t==null?void 0:t.activationStart)??0},pt=(t,e=-1)=>{const n=rr();let i="navigate";return Sd>=0?i="back-forward-cache":n&&(document.prerendering||Qn()>0?i="prerender":document.wasDiscarded?i="restore":n.type&&(i=n.type.replace(/_/g,"-"))),{name:t,value:e,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:i}},il=new WeakMap;function or(t,e){return il.get(t)||il.set(t,new e),il.get(t)}let j0=class{constructor(){Gt(this,"t");Gt(this,"i",0);Gt(this,"o",[])}h(e){var l;if(e.hadRecentInput)return;const n=this.o[0],i=this.o.at(-1);this.i&&n&&i&&e.startTime-i.startTime<1e3&&e.startTime-n.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),(l=this.t)==null||l.call(this,e)}};const Ln=(t,e,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){const i=new PerformanceObserver((l=>{Promise.resolve().then((()=>{e(l.getEntries())}))}));return i.observe({type:t,buffered:!0,...n}),i}}catch{}},ar=t=>{let e=!1;return()=>{e||(t(),e=!0)}};let Ot=-1;const Cd=new Set,Oo=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,yl=t=>{if(document.visibilityState==="hidden"){if(t.type==="visibilitychange")for(const e of Cd)e();isFinite(Ot)||(Ot=t.type==="visibilitychange"?t.timeStamp:0,removeEventListener("prerenderingchange",yl,!0))}},Ui=()=>{var t;if(Ot<0){const e=Qn();Ot=(document.prerendering||(t=globalThis.performance.getEntriesByType("visibility-state").filter((i=>i.name==="hidden"&&i.startTime>e))[0])==null?void 0:t.startTime)??Oo(),addEventListener("visibilitychange",yl,!0),addEventListener("prerenderingchange",yl,!0),dn((()=>{setTimeout((()=>{Ot=Oo()}))}))}return{get firstHiddenTime(){return Ot},onHidden(e){Cd.add(e)}}},Ji=t=>{document.prerendering?addEventListener("prerenderingchange",(()=>t()),!0):t()},$o=[1800,3e3],Wd=(t,e={})=>{Ji((()=>{const n=Ui();let i,l=pt("FCP");const r=Ln("paint",(o=>{for(const a of o)a.name==="first-contentful-paint"&&(r.disconnect(),a.startTime{l=pt("FCP"),i=At(t,l,$o,e.reportAllChanges),lr((()=>{l.value=performance.now()-o.timeStamp,i(!0)}))})))}))},qo=[.1,.25],P0=(t,e={})=>{const n=Ui();Wd(ar((()=>{let i,l=pt("CLS",0);const r=or(e,j0),o=c=>{for(const d of c)r.h(d);r.i>l.value&&(l.value=r.i,l.entries=r.o,i())},a=Ln("layout-shift",o);a&&(i=At(t,l,qo,e.reportAllChanges),n.onHidden((()=>{o(a.takeRecords()),i(!0)})),dn((()=>{r.i=0,l=pt("CLS",0),i=At(t,l,qo,e.reportAllChanges),lr((()=>i()))})),setTimeout(i))})))};let Bd=0,ll=1/0,qn=0;const O0=t=>{for(const e of t)e.interactionId&&(ll=Math.min(ll,e.interactionId),qn=Math.max(qn,e.interactionId),Bd=qn?(qn-ll)/7+1:0)};let vl;const ea=()=>vl?Bd:performance.interactionCount??0,$0=()=>{"interactionCount"in performance||vl||(vl=Ln("event",O0,{type:"event",buffered:!0,durationThreshold:0}))};let ta=0,q0=class{constructor(){Gt(this,"u",[]);Gt(this,"l",new Map);Gt(this,"m");Gt(this,"p")}v(){ta=ea(),this.u.length=0,this.l.clear()}L(){const e=Math.min(this.u.length-1,Math.floor((ea()-ta)/50));return this.u[e]}h(e){var l,r;if((l=this.m)==null||l.call(this,e),!e.interactionId&&e.entryType!=="first-input")return;const n=this.u.at(-1);let i=this.l.get(e.interactionId);if(i||this.u.length<10||e.duration>n.P){if(i?e.duration>i.P?(i.entries=[e],i.P=e.duration):e.duration===i.P&&e.startTime===i.entries[0].startTime&&i.entries.push(e):(i={id:e.interactionId,entries:[e],P:e.duration},this.l.set(i.id,i),this.u.push(i)),this.u.sort(((o,a)=>a.P-o.P)),this.u.length>10){const o=this.u.splice(10);for(const a of o)this.l.delete(a.id)}(r=this.p)==null||r.call(this,i)}}};const Nd=t=>{const e=globalThis.requestIdleCallback||setTimeout;document.visibilityState==="hidden"?t():(t=ar(t),addEventListener("visibilitychange",t,{once:!0,capture:!0}),e((()=>{t(),removeEventListener("visibilitychange",t,{capture:!0})})))},na=[200,500],em=(t,e={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=Ui();Ji((()=>{$0();let i,l=pt("INP");const r=or(e,q0),o=c=>{Nd((()=>{for(const s of c)r.h(s);const d=r.L();d&&d.P!==l.value&&(l.value=d.P,l.entries=d.entries,i())}))},a=Ln("event",o,{durationThreshold:e.durationThreshold??40});i=At(t,l,na,e.reportAllChanges),a&&(a.observe({type:"first-input",buffered:!0}),n.onHidden((()=>{o(a.takeRecords()),i(!0)})),dn((()=>{r.v(),l=pt("INP"),i=At(t,l,na,e.reportAllChanges)})))}))};let tm=class{constructor(){Gt(this,"m")}h(e){var n;(n=this.m)==null||n.call(this,e)}};const ia=[2500,4e3],nm=(t,e={})=>{Ji((()=>{const n=Ui();let i,l=pt("LCP");const r=or(e,tm),o=c=>{e.reportAllChanges||(c=c.slice(-1));for(const d of c)r.h(d),d.startTime{o(a.takeRecords()),a.disconnect(),i(!0)})),d=s=>{s.isTrusted&&(Nd(c),removeEventListener(s.type,d,{capture:!0}))};for(const s of["keydown","click","visibilitychange"])addEventListener(s,d,{capture:!0});dn((s=>{l=pt("LCP"),i=At(t,l,ia,e.reportAllChanges),lr((()=>{l.value=performance.now()-s.timeStamp,i(!0)}))}))}}))},la=[800,1800],Sl=t=>{document.prerendering?Ji((()=>Sl(t))):document.readyState!=="complete"?addEventListener("load",(()=>Sl(t)),!0):setTimeout(t)},im=(t,e={})=>{let n=pt("TTFB"),i=At(t,n,la,e.reportAllChanges);Sl((()=>{const l=rr();l&&(n.value=Math.max(l.responseStart-Qn(),0),n.entries=[l],i(!0),dn((()=>{n=pt("TTFB",0),i=At(t,n,la,e.reportAllChanges),i(!0)})))}))};function lm(t){var e,n=((e=t.entries[0])===null||e===void 0?void 0:e.startTime)||0;return performance.timeOrigin+n}function bn(t){return{value:t.value,rating:t.rating,delta:t.delta,navigationType:t.navigationType,id:t.id,timestamp:Math.floor(lm(t)),navigationStart:Math.floor(performance.timeOrigin)}}var rm=function(){var t=null,e=Fe(),n=e==null?void 0:e.document,i=e==null?void 0:e.location,l=function(a,c){return W(void 0,void 0,void 0,function(){var d,s,u;return C(this,function(h){return d=function(g){var b;if(!g)return"";var m=g;try{m=decodeURI(g)}catch(f){(b=a.loggerProvider)===null||b===void 0||b.error("Malformed URI sequence: ",f)}return m},n===void 0?[2]:(s=d(i==null?void 0:i.href),u={"[Amplitude] Page Domain":(i==null?void 0:i.hostname)||"","[Amplitude] Page Location":s,"[Amplitude] Page Path":d(i==null?void 0:i.pathname),"[Amplitude] Page Title":typeof document<"u"&&document.title||"","[Amplitude] Page URL":s.split("?")[0]},nm(function(g){u["[Amplitude] LCP"]=bn(g)}),Wd(function(g){u["[Amplitude] FCP"]=bn(g)}),em(function(g){u["[Amplitude] INP"]=bn(g)}),P0(function(g){u["[Amplitude] CLS"]=bn(g)}),im(function(g){u["[Amplitude] TTFB"]=bn(g)}),t=function(){n.visibilityState==="hidden"&&t&&(c.track(_0,u),n.removeEventListener("visibilitychange",t),t=null)},n.addEventListener("visibilitychange",t),[2])})})},r=function(a){return W(void 0,void 0,void 0,function(){return C(this,function(c){return[2,a]})})},o=function(){return W(void 0,void 0,void 0,function(){return C(this,function(a){return t&&(n==null||n.removeEventListener("visibilitychange",t)),[2]})})};return{name:D0,type:"enrichment",setup:l,execute:r,teardown:o}},ra=function(t){var e=t.split(".");return e.length<=2?t:e.slice(e.length-2,e.length).join(".")},om=function(t){return Object.values(t).every(function(e){return!e})},am=function(t,e,n,i,l){l===void 0&&(l=!0),t.referrer;var r=t.referring_domain,o=ml(t,["referrer","referring_domain"]),a=e||{};a.referrer;var c=a.referring_domain,d=ml(a,["referrer","referring_domain"]);if(cm(n.excludeReferrers,t.referring_domain))return i.debug("This is not a new campaign because ".concat(t.referring_domain," is in the exclude referrer list.")),!1;if(!l&&om(t)&&e)return i.debug("This is not a new campaign because this is a direct traffic in the same session."),!1;var s=JSON.stringify(o)!==JSON.stringify(d),u=ra(r||"")!==ra(c||""),h=!e||s||u;return h?i.debug("This is a new campaign. An $identify event will be sent."):i.debug("This is not a new campaign because it's the same as the previous one."),h},cm=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=""),t.some(function(n){return n instanceof RegExp?n.test(e):n===e})},dm=function(t,e){var n=N(N({},Ml),t),i=Object.entries(n).reduce(function(l,r){var o,a=U(r,2),c=a[0],d=a[1];return l.setOnce("initial_".concat(c),(o=d??e.initialEmptyValue)!==null&&o!==void 0?o:"EMPTY"),d?l.set(c,d):l.unset(c)},new nn);return Wc(i)},sm=function(t){var e=t;return e?(e.startsWith(".")&&(e=e.substring(1)),[new RegExp("".concat(e.replace(".","\\."),"$"))]):[]},um=(function(){function t(e,n){var i;this.shouldTrackNewCampaign=!1,this.options=N({initialEmptyValue:"EMPTY",resetSessionOnNewCampaign:!1,excludeReferrers:sm((i=n.cookieOptions)===null||i===void 0?void 0:i.domain)},e),this.storage=n.cookieStorage,this.storageKey=no(n.apiKey,"MKTG"),this.webExpStorageKey=no(n.apiKey,"MKTG_ORIGINAL"),this.currentCampaign=Ml,this.sessionTimeout=n.sessionTimeout,this.lastEventTime=n.lastEventTime,this.logger=n.loggerProvider,n.loggerProvider.log("Installing web attribution tracking.")}return t.prototype.init=function(){return W(this,void 0,void 0,function(){var e,n;return C(this,function(i){switch(i.label){case 0:return[4,this.fetchCampaign()];case 1:return n=U.apply(void 0,[i.sent(),2]),this.currentCampaign=n[0],this.previousCampaign=n[1],e=this.lastEventTime?Fc(this.sessionTimeout,this.lastEventTime):!0,am(this.currentCampaign,this.previousCampaign,this.options,this.logger,e)?(this.shouldTrackNewCampaign=!0,[4,this.storage.set(this.storageKey,this.currentCampaign)]):[3,3];case 2:i.sent(),i.label=3;case 3:return[2]}})})},t.prototype.fetchCampaign=function(){return W(this,void 0,void 0,function(){var e;return C(this,function(n){switch(n.label){case 0:return[4,this.storage.get(this.webExpStorageKey)];case 1:return e=n.sent(),e?[4,this.storage.remove(this.webExpStorageKey)]:[3,3];case 2:n.sent(),n.label=3;case 3:return[4,Promise.all([e||new yh().parse(),this.storage.get(this.storageKey)])];case 4:return[2,n.sent()]}})})},t.prototype.generateCampaignEvent=function(e){this.shouldTrackNewCampaign=!1;var n=dm(this.currentCampaign,this.options);return e&&(n.event_id=e),n},t.prototype.shouldSetSessionIdOnNewCampaign=function(){return this.shouldTrackNewCampaign&&!!this.options.resetSessionOnNewCampaign},t})(),gm=(function(t){Me(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.init=function(n,i,l){n===void 0&&(n="");var r,o;return arguments.length>2?(r=i,o=l):typeof i=="string"?(r=i,o=void 0):(r=i==null?void 0:i.userId,o=i),Oe(this._init(N(N({},o),{userId:r,apiKey:n})))},e.prototype._init=function(n){var i,l,r;return W(this,void 0,void 0,function(){var o,a,c,d,s,u,h,g=this;return C(this,function(b){switch(b.label){case 0:return this.initializing?[2]:(this.initializing=!0,[4,qh(n.apiKey,n,this)]);case 1:return o=b.sent(),o.fetchRemoteConfig?(this.remoteConfigClient=new Yg(o.apiKey,o.loggerProvider,o.serverZone),[4,new Promise(function(m){var f;(f=g.remoteConfigClient)===null||f===void 0||f.subscribe("configs.analyticsSDK.browserSDK","all",function(p,A,X){o.loggerProvider.debug("Remote configuration received:",JSON.stringify({remoteConfig:p,source:A,lastFetch:X},null,2)),p&&pb(p,o),m()})})]):[3,3];case 2:b.sent(),b.label=3;case 3:return[4,t.prototype._init.call(this,o)];case 4:return b.sent(),this.logBrowserOptions(o),Qc(this.config.defaultTracking)?(a=Yh(this.config),this.webAttribution=new um(a,this.config),[4,this.webAttribution.init()]):[3,6];case 5:b.sent(),b.label=6;case 6:return c=Gi(),d=c.ampTimestamp?Number(c.ampTimestamp):void 0,s=d?Date.now(){},execute:async e=>{if(e.event_properties&&typeof e.event_properties=="object")for(const n of Rn.PROPERTIES_TO_REMOVE)delete e.event_properties[n];return e}}}init(){this.inited||ce.amplitudeKey&&(this.inited=!0,bm(Rn.createPageViewTrackingEnrichment()),Vm(ce.amplitudeKey,{transport:"beacon",identityStorage:"none",autocapture:{elementInteractions:!0}}))}reset(){this.inited=!1,this.storageUserId=null,this.storageUserProperties={},mm()}setUserId(e){!e||this.storageUserId===e||(this.inited||this.init(),this.storageUserId=e,fm(e))}trackOnce(e){this.inited||this.init(),aa(e)}batchTrack(e){this.inited||this.init();for(const n of e)aa(n)}customUserProperties(e){if(!e||Object.keys(e).length===0)return;this.inited||this.init();let n;this.storageUserProperties?n=this.extractChangedValues(this.storageUserProperties,e):n=e,this.storageUserProperties=e;const i=new nn;Object.entries(n).forEach(([l,r])=>{i.set(l,typeof r=="number"?`${r}`:r)}),oa(i)}customUserPropertyOne(e,n){if(!e||(this.inited||this.init(),this.storageUserProperties[e]===n))return;this.storageUserProperties[e]=n;const i=new nn;i.set(e,n),oa(i)}extractChangedValues(e,n){const i={};return Object.keys(n).forEach(l=>{(!(l in e)||e[l]!==n[l])&&(i[l]=n[l])}),i}formatToAmplitude(e){const{events:n,clientInfo:i}=e;return Ai("server",n.map(l=>{const{eventName:r,extData:o}=l;return{event_type:r,event_properties:{ext_data:o,client_info:i}}}))}};Rn.PROPERTIES_TO_REMOVE=["page_title","[Amplitude] Page Title"];let Cl=Rn;const ca=new Cl;function mt(t,e,n,i){return new(n||(n=Promise))((function(l,r){function o(d){try{c(i.next(d))}catch(s){r(s)}}function a(d){try{c(i.throw(d))}catch(s){r(s)}}function c(d){var s;d.done?l(d.value):(s=d.value,s instanceof n?s:new n((function(u){u(s)}))).then(o,a)}c((i=i.apply(t,[])).next())}))}function ft(t,e){var n,i,l,r,o={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(r[Symbol.iterator]=function(){return this}),r;function a(c){return function(d){return(function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(o=0)),o;)try{if(n=1,i&&(l=2&s[0]?i.return:s[0]?i.throw||((l=i.return)&&l.call(i),0):i.next)&&!(l=l.call(i,s[1])).done)return l;switch(i=0,l&&(s=[2&s[0],l.value]),s[0]){case 0:case 1:l=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(l=o.trys,!((l=l.length>0&&l[l.length-1])||s[0]!==6&&s[0]!==2)){o=0;continue}if(s[0]===3&&(!l||s[1]>l[0]&&s[1]>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),(t^=t>>>16)>>>0}var Je=new Uint32Array([597399067,2869860233,951274213,2716044179]);function lt(t,e){return t<>>32-e}function cr(t,e){var n;if(e===void 0&&(e=0),e=e?0|e:0,typeof t=="string"&&(n=t,t=new TextEncoder().encode(n).buffer),!(t instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");var i=new Uint32Array([e,e,e,e]);(function(r,o){for(var a=r.byteLength/16|0,c=new Uint32Array(r,0,4*a),d=0;d0&&(l[d]=b)}},o=0,a=Object.entries(t);o"u")return{name:"unknown",version:"unknown"};for(var t=navigator.userAgent,e={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"},n=0,i=[/(?SamsungBrowser)\/(?\d+(?:\.\d+)?)/,/(?Edge|Edg)\/(?\d+(?:\.\d+)?)/,/(?(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?\d+(?:\.\d+)?)/,/(?(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?\d+(?:\.\d+)?)/,/(?Safari)\/(?\d+(?:\.\d+)?)/,/(?MSIE|Trident|IEMobile).+?(?\d+(?:\.\d+)?)/,/(?samsung).*Version\/(?\d+(?:\.\d+)?)/i,/(?[A-Za-z]+)\/(?\d+(?:\.\d+)?)/];ne[l]&&(l=parseInt(r,10));return l}["SamsungBrowser","Safari"].includes(Rm.name)||ct("audio",(function(){return mt(this,void 0,void 0,(function(){return ft(this,(function(t){return[2,new Promise((function(e,n){try{var i=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,5e3,44100),l=i.createBufferSource(),r=i.createOscillator();r.frequency.value=1e3;var o,a=i.createDynamicsCompressor();a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.2,r.connect(a),a.connect(i.destination),r.start(),i.oncomplete=function(c){o=c.renderedBuffer.getChannelData(0),e({sampleHash:Im(o),oscillator:r.type,maxChannels:i.destination.maxChannelCount,channelCountMode:l.channelCountMode})},i.startRendering()}catch(c){console.error("Error creating audio fingerprint:",c),n(c)}}))]}))}))}));var xd=en(),da=xd.name.toLowerCase(),ym=xd.version.split(".")[0]||"0",vm=parseInt(ym,10);da==="firefox"||da==="safari"&&vm===17||ct("canvas",(function(){return document.createElement("canvas").getContext("2d"),new Promise((function(t){var e=Array.from({length:3},(function(){return(function(){var n=document.createElement("canvas"),i=n.getContext("2d");if(!i)return new ImageData(1,1);n.width=280,n.height=20;var l=i.createLinearGradient(0,0,n.width,n.height);l.addColorStop(0,"red"),l.addColorStop(.16666666666666666,"orange"),l.addColorStop(.3333333333333333,"yellow"),l.addColorStop(.5,"green"),l.addColorStop(.6666666666666666,"blue"),l.addColorStop(.8333333333333334,"indigo"),l.addColorStop(1,"violet"),i.fillStyle=l,i.fillRect(0,0,n.width,n.height);var r="Random Text WMwmil10Oo";return i.font="23.123px Arial",i.fillStyle="black",i.fillText(r,-5,15),i.fillStyle="rgba(0, 0, 255, 0.5)",i.fillText(r,-3.3,17.7),i.beginPath(),i.moveTo(0,0),i.lineTo(2*n.width/7,n.height),i.strokeStyle="white",i.lineWidth=2,i.stroke(),i.getImageData(0,0,n.width,n.height)})()}));t({commonImageDataHash:cr(Jd(e,280,20).data.toString()).toString()})}))}));var Vn,Sm=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],Cm=["monospace","sans-serif","serif"];function sa(t,e){if(!t)throw new Error("Canvas context not supported");return t.font,t.font="72px ".concat(e),t.measureText("WwMmLli0Oo").width}function Wm(){var t,e=document.createElement("canvas"),n=(t=e.getContext("webgl"))!==null&&t!==void 0?t:e.getContext("experimental-webgl");if(n&&"getParameter"in n)try{var i=(n.getParameter(n.VENDOR)||"").toString(),l=(n.getParameter(n.RENDERER)||"").toString(),r={vendor:i,renderer:l,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!l.length||!i.length){var o=n.getExtension("WEBGL_debug_renderer_info");if(o){var a=(n.getParameter(o.UNMASKED_VENDOR_WEBGL)||"").toString(),c=(n.getParameter(o.UNMASKED_RENDERER_WEBGL)||"").toString();a&&(r.vendorUnmasked=a),c&&(r.rendererUnmasked=c)}}return r}catch{}return"undefined"}function Bm(){var t=new Float32Array(1),e=new Uint8Array(t.buffer);return t[0]=1/0,t[0]=t[0]-t[0],e[3]}function Nm(t,e){var n={};return e.forEach((function(i){var l=(function(r){if(r.length===0)return null;var o={};r.forEach((function(d){var s=String(d);o[s]=(o[s]||0)+1}));var a=r[0],c=1;return Object.keys(o).forEach((function(d){o[d]>c&&(a=d,c=o[d])})),a})(t.map((function(r){return i in r?r[i]:void 0})).filter((function(r){return r!==void 0})));l&&(n[i]=l)})),n}function Fm(){var t=[],e={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(e).forEach((function(n){e[n].forEach((function(i){matchMedia("(".concat(n,": ").concat(i,")")).matches&&t.push("".concat(n,": ").concat(i))}))})),t}en().name!="Firefox"&&ct("fonts",(function(){var t=this;return new Promise((function(e,n){try{(function(i){var l;mt(this,void 0,void 0,(function(){var r,o,a;return ft(this,(function(c){switch(c.label){case 0:return document.body?[3,2]:[4,(d=50,new Promise((function(u){return setTimeout(u,d,s)})))];case 1:return c.sent(),[3,0];case 2:if((r=document.createElement("iframe")).setAttribute("frameBorder","0"),(o=r.style).setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),r.src="about:blank",document.body.appendChild(r),!(a=r.contentDocument||((l=r.contentWindow)===null||l===void 0?void 0:l.document)))throw new Error("Iframe document is not accessible");return i({iframe:a}),setTimeout((function(){document.body.removeChild(r)}),0),[2]}var d,s}))}))})((function(i){var l=i.iframe;return mt(t,void 0,void 0,(function(){var r,o,a,c;return ft(this,(function(d){return r=l.createElement("canvas"),o=r.getContext("2d"),a=Cm.map((function(s){return sa(o,s)})),c={},Sm.forEach((function(s){var u=sa(o,s);a.includes(u)||(c[s]=u)})),e(c),[2]}))}))}))}catch{n({error:"unsupported"})}}))})),ct("hardware",(function(){return new Promise((function(t,e){var n=navigator.deviceMemory!==void 0?navigator.deviceMemory:0,i=window.performance&&window.performance.memory?window.performance.memory:0;t({videocard:Wm(),architecture:Bm(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:i.jsHeapSizeLimit||0})}))})),ct("locales",(function(){return new Promise((function(t){t({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))})),ct("permissions",(function(){return mt(this,void 0,void 0,(function(){var t;return ft(this,(function(e){return Vn=(Ie==null?void 0:Ie.permissions_to_check)||["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"],en().name.toLowerCase()==="safari"&&(Vn=Vn.filter((function(n){return!["camera","geolocation","microphone"].includes(n)}))),t=Array.from({length:(Ie==null?void 0:Ie.retries)||3},(function(){return(function(){return mt(this,void 0,void 0,(function(){var n,i,l,r,o;return ft(this,(function(a){switch(a.label){case 0:n={},i=0,l=Vn,a.label=1;case 1:if(!(i0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:Fm()})}))})),ct("system",(function(){return new Promise((function(t){var e=en(),n={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:e.name,version:e.version}};e.name.toLowerCase()!=="safari"&&(n.applePayVersion=(function(){if(window.location.protocol==="https:"&&typeof window.ApplePaySession=="function")try{for(var i=window.ApplePaySession.supportsVersion,l=15;l>0;l--)if(i(l))return l}catch{return 0}return 0})(),n.cookieEnabled=window.navigator.cookieEnabled),t(n)}))}));var Te,Ym=en().name!=="SamsungBrowser"?1:3,k=null;ct("webgl",(function(){return mt(this,void 0,void 0,(function(){var t;return ft(this,(function(e){typeof document<"u"&&((Te=document.createElement("canvas")).width=200,Te.height=100,k=Te.getContext("webgl"));try{if(!k)throw new Error("WebGL not supported");return t=Array.from({length:Ym},(function(){return(function(){try{if(!k)throw new Error("WebGL not supported");var n=` attribute vec2 position; void main() { gl_Position = vec4(position, 0.0, 1.0); } `,i=` precision mediump float; void main() { gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color } `,l=k.createShader(k.VERTEX_SHADER),r=k.createShader(k.FRAGMENT_SHADER);if(!l||!r)throw new Error("Failed to create shaders");if(k.shaderSource(l,n),k.shaderSource(r,i),k.compileShader(l),!k.getShaderParameter(l,k.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+k.getShaderInfoLog(l));if(k.compileShader(r),!k.getShaderParameter(r,k.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+k.getShaderInfoLog(r));var o=k.createProgram();if(!o)throw new Error("Failed to create shader program");if(k.attachShader(o,l),k.attachShader(o,r),k.linkProgram(o),!k.getProgramParameter(o,k.LINK_STATUS))throw new Error("Shader program linking failed: "+k.getProgramInfoLog(o));k.useProgram(o);for(var a=137,c=new Float32Array(4*a),d=2*Math.PI/a,s=0;sn!==e):[...this.currentIncludeOption,e],rl("include",this.currentIncludeOption)):(this.currentIncludeOption=[...e],rl("include",this.currentIncludeOption))}}const Jm=new Um;class xm{constructor(e,n){this.interval=e,this.getClientInfo=n,this.events=[],this.timer=null}push(e){e.extData||(e.extData={}),e.extData.url=window.location.href,this.events.push(e),this.doChecking()}doChecking(){this.timer&&this.clearTimer(),this.timer=setTimeout(()=>{this.send(),this.clearTimer()},this.interval)}clearTimer(){clearTimeout(this.timer),this.timer=null}async send(){var l;const e={...this.getClientInfo(),tmToken:await Jm.getId()},n={events:this.events,clientInfo:e},i=ca.formatToAmplitude(n);ca.batchTrack(i),(l=navigator==null?void 0:navigator.sendBeacon)==null||l.call(navigator,`${ce.apiHost}/api/user_behavior/batch_create_event_v2`,JSON.stringify(Ai("server",n))),this.events=[]}}function wm(){const t=new Date;return{clientType:"web",clientVersion:"",productName:"Manus",timezone:(()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}})(),timezoneOffset:t.getTimezoneOffset()}}const km=new xm(200,wm);function Qt(t){(Array.isArray(t)?t:[t]).map(n=>({...n,extData:{...n.extData},eventAt:new Date().toISOString()})).forEach(n=>{km.push(n)})}const zm=t=>D` `,Q={spaceEditorHighlight:"__manus__-space-editor-highlight",virtualTextNode:"__manus__virtual-text-node",onlyTextNode:"__manus__only-text-node",textNodeActive:"__manus__text-node-active",editModeActive:"__manus__edit-mode-active",spaceControlView:"__manus__space-editor-control-panel",textEditorPanelView:"__manus__space-editor-text-editor-modal",elementEditorPanelView:"__manus__space-editor-element-editor-modal",footerToolbarView:"__manus__space-footer-toolbar",colorPicker:"clr-picker",copyNode:"__manus__copy-node",hidden:"__manus__hidden"},An={accessToken:"access_token"},ua={embedClosed:"embed-closed"};function Qm(t){const e=t.key==="z"||t.key==="Z";return/Mac|iPod|iPhone|iPad/.test(navigator.platform)?e&&t.metaKey&&!t.ctrlKey&&!t.altKey:e&&t.ctrlKey&&!t.metaKey&&!t.altKey}function ga(){let t=!1,e=[];return{get ready(){return t},markReady:()=>{t||(t=!0,e.forEach(({resolve:n})=>n()),e=[])},waitReady:async()=>t?!0:new Promise((i,l)=>{e.push({resolve:i,reject:l})}),onReady(n){this.waitReady().then(n)},clear:()=>{t=!1,e.forEach(({reject:n})=>n()),e=[]},clearWithoutPromise:()=>{t=!1}}}function Wl(t,e){if(typeof window>"u")return;const n=window.location.href,i=new URL(n);t.forEach(l=>{i.searchParams.delete(l)}),window.history.pushState({},"",i.toString())}function Lm(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function Km(t){document.readyState!=="loading"?t():document.addEventListener("DOMContentLoaded",()=>{t()})}function Tm(){return[()=>typeof window<"u"&&window.__NEXT_DATA__,()=>document.getElementById("__next")!==null,()=>document.querySelectorAll('script[src*="_next/"]').length>0,()=>document.querySelectorAll('link[href*="_next/"]').length>0].some(e=>e())}async function Mm(){return new Promise(t=>{let e=!1;function n(){var l;(l=window==null?void 0:window.next)!=null&&l.router&&setTimeout(()=>{Promise.resolve().then(()=>{t(!0),e=!0})},200)}const i=setInterval(()=>{n(),e&&clearInterval(i)},100);setTimeout(()=>{clearInterval(i),t(!1)},1e4)})}class Hm{getCookie(e){if(typeof document>"u")return console.warn("CookieHelper: Cannot get cookie in a non-browser environment."),null;const n=e+"=",i=document.cookie.split(";");for(let l=0;l"u"){console.warn("CookieHelper: Cannot set cookie in a non-browser environment.");return}let l="";if(i.daysToExpire){const d=new Date;d.setTime(d.getTime()+i.daysToExpire*24*60*60*1e3),l="; expires="+d.toUTCString()}const r=i.path?"; path="+i.path:"; path=/",o=i.domain?"; domain="+i.domain:"",a=i.secure?"; secure":"",c=i.sameSite?"; samesite="+i.sameSite:"";document.cookie=e+"="+(n||"")+l+r+o+a+c}deleteCookie(e,n={}){if(typeof document>"u"){console.warn("CookieHelper: Cannot delete cookie in a non-browser environment.");return}this.setCookie(e,"",{daysToExpire:-1,path:n.path,domain:n.domain})}}const ti=new Hm;var P;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(P||(P={}));function dr(t,e){return t!==null&&typeof t=="object"&&"$typeName"in t&&typeof t.$typeName=="string"?e===void 0?!0:e.typeName===t.$typeName:!1}var Z;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(Z||(Z={}));function Dm(){let t=0,e=0;for(let i=0;i<28;i+=7){let l=this.buf[this.pos++];if(t|=(l&127)<>4,(n&128)==0)return this.assertBounds(),[t,e];for(let i=3;i<=31;i+=7){let l=this.buf[this.pos++];if(e|=(l&127)<>>r,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(n.push(c),!a)return}const i=t>>>28&15|(e&7)<<4,l=e>>3!=0;if(n.push((l?i|128:i)&255),!!l){for(let r=3;r<31;r=r+7){const o=e>>>r,a=!!(o>>>7),c=(a?o|128:o)&255;if(n.push(c),!a)return}n.push(e>>>31&1)}}const hi=4294967296;function ha(t){const e=t[0]==="-";e&&(t=t.slice(1));const n=1e6;let i=0,l=0;function r(o,a){const c=Number(t.slice(o,a));l*=n,i=i*n+c,i>=hi&&(l=l+(i/hi|0),i=i%hi)}return r(-24,-18),r(-18,-12),r(-12,-6),r(-6),e?kd(i,l):sr(i,l)}function _m(t,e){let n=sr(t,e);const i=n.hi&2147483648;i&&(n=kd(n.lo,n.hi));const l=wd(n.lo,n.hi);return i?"-"+l:l}function wd(t,e){if({lo:t,hi:e}=jm(t,e),e<=2097151)return String(hi*e+t);const n=t&16777215,i=(t>>>24|e<<8)&16777215,l=e>>16&65535;let r=n+i*6777216+l*6710656,o=i+l*8147497,a=l*2;const c=1e7;return r>=c&&(o+=Math.floor(r/c),r%=c),o>=c&&(a+=Math.floor(o/c),o%=c),a.toString()+ba(o)+ba(r)}function jm(t,e){return{lo:t>>>0,hi:e>>>0}}function sr(t,e){return{lo:t|0,hi:e|0}}function kd(t,e){return e=~e,t?t=~t+1:e+=1,sr(t,e)}const ba=t=>{const e=String(t);return"0000000".slice(e.length)+e};function Bl(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t=t>>7;e.push(1)}}function Pm(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;(t&128)!==0&&n<10;n++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var Va={};const de=Om();function Om(){const t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(!!globalThis.Deno||typeof process!="object"||typeof Va!="object"||Va.BUF_BIGINT_DISABLE!=="1")){const n=BigInt("-9223372036854775808"),i=BigInt("9223372036854775807"),l=BigInt("0"),r=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(o){const a=typeof o=="bigint"?o:BigInt(o);if(a>i||ar||ai.localName===n)}function qm(t,e){const n=e.localName;if(e.oneof)return t[e.oneof.localName].case===n;if(e.presence!=zd)return t[n]!==void 0&&Object.prototype.hasOwnProperty.call(t,n);switch(e.fieldKind){case"list":return t[n].length>0;case"map":return Object.keys(t[n]).length>0;case"scalar":return!$m(e.scalar,t[n]);case"enum":return t[n]!==e.enum.values[0].number}throw new Error("message field with implicit presence")}function Cn(t,e){return Object.prototype.hasOwnProperty.call(t,e)&&t[e]!==void 0}function Ld(t,e){if(e.oneof){const n=t[e.oneof.localName];return n.case===e.localName?n.value:void 0}return t[e.localName]}function Kd(t,e,n){e.oneof?t[e.oneof.localName]={case:e.localName,value:n}:t[e.localName]=n}function ef(t,e){const n=e.localName;if(e.oneof){const i=e.oneof.localName;t[i].case===n&&(t[i]={case:void 0})}else if(e.presence!=zd)delete t[n];else switch(e.fieldKind){case"map":t[n]={};break;case"list":t[n]=[];break;case"enum":t[n]=e.enum.values[0].number;break;case"scalar":t[n]=Mt(e.scalar,e.longAsString);break}}function Nt(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function ur(t,e){var n,i,l,r;if(Nt(t)&&It in t&&"add"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){const o=e,a=t.field();return o.listKind==a.listKind&&o.scalar===a.scalar&&((n=o.message)===null||n===void 0?void 0:n.typeName)===((i=a.message)===null||i===void 0?void 0:i.typeName)&&((l=o.enum)===null||l===void 0?void 0:l.typeName)===((r=a.enum)===null||r===void 0?void 0:r.typeName)}return!0}return!1}function gr(t,e){var n,i,l,r;if(Nt(t)&&It in t&&"has"in t&&"field"in t&&typeof t.field=="function"){if(e!==void 0){const o=e,a=t.field();return o.mapKey===a.mapKey&&o.mapKind==a.mapKind&&o.scalar===a.scalar&&((n=o.message)===null||n===void 0?void 0:n.typeName)===((i=a.message)===null||i===void 0?void 0:i.typeName)&&((l=o.enum)===null||l===void 0?void 0:l.typeName)===((r=a.enum)===null||r===void 0?void 0:r.typeName)}return!0}return!1}function hr(t,e){return Nt(t)&&It in t&&"desc"in t&&Nt(t.desc)&&t.desc.kind==="message"&&(e===void 0||t.desc.typeName==e.typeName)}function tf(t){return Td(t.$typeName)}function Kn(t){const e=t.fields[0];return Td(t.typeName)&&e!==void 0&&e.fieldKind=="scalar"&&e.name=="value"&&e.number==1}function Td(t){return t.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(t.substring(16))}const nf=999,lf=998,bi=2;function st(t,e){if(dr(e,t))return e;const n=df(t);return e!==void 0&&rf(t,n,e),n}function rf(t,e,n){for(const i of t.members){let l=n[i.localName];if(l==null)continue;let r;if(i.kind=="oneof"){const o=Qd(n,i);if(!o)continue;r=o,l=Ld(n,o)}else r=i;switch(r.fieldKind){case"message":l=br(r,l);break;case"scalar":l=Md(r,l);break;case"list":l=af(r,l);break;case"map":l=of(r,l);break}Kd(e,r,l)}return e}function Md(t,e){return t.scalar==Z.BYTES?Vr(e):e}function of(t,e){if(Nt(e)){if(t.scalar==Z.BYTES)return Aa(e,Vr);if(t.mapKind=="message")return Aa(e,n=>br(t,n))}return e}function af(t,e){if(Array.isArray(e)){if(t.scalar==Z.BYTES)return e.map(Vr);if(t.listKind=="message")return e.map(n=>br(t,n))}return e}function br(t,e){if(t.fieldKind=="message"&&!t.oneof&&Kn(t.message))return Md(t.message.fields[0],e);if(Nt(e)){if(t.message.typeName=="google.protobuf.Struct"&&t.parent.typeName!=="google.protobuf.Value")return e;if(!dr(e,t.message))return st(t.message,e)}return e}function Vr(t){return Array.isArray(t)?new Uint8Array(t):t}function Aa(t,e){const n={};for(const i of Object.entries(t))n[i[0]]=e(i[1]);return n}const cf=Symbol(),pa=new WeakMap;function df(t){let e;if(sf(t)){const n=pa.get(t);let i,l;if(n)({prototype:i,members:l}=n);else{i={},l=new Set;for(const r of t.members)r.kind!="oneof"&&(r.fieldKind!="scalar"&&r.fieldKind!="enum"||r.presence!=bi&&(l.add(r),i[r.localName]=al(r)));pa.set(t,{prototype:i,members:l})}e=Object.create(i),e.$typeName=t.typeName;for(const r of t.members)l.has(r)||r.kind=="field"&&(r.fieldKind=="message"||(r.fieldKind=="scalar"||r.fieldKind=="enum")&&r.presence!=bi)||(e[r.localName]=al(r))}else{e={$typeName:t.typeName};for(const n of t.members)(n.kind=="oneof"||n.presence==bi)&&(e[n.localName]=al(n))}return e}function sf(t){switch(t.file.edition){case nf:return!1;case lf:return!0;default:return t.fields.some(e=>e.presence!=bi&&e.fieldKind!="message"&&!e.oneof)}}function al(t){if(t.kind=="oneof")return{case:void 0};if(t.fieldKind=="list")return[];if(t.fieldKind=="map")return{};if(t.fieldKind=="message")return cf;const e=t.getDefaultValue();return e!==void 0?t.fieldKind=="scalar"&&t.longAsString?e.toString():e:t.fieldKind=="scalar"?Mt(t.scalar,t.longAsString):t.enum.values[0].number}const uf=["FieldValueInvalidError","FieldListRangeError","ForeignFieldError"];class qe extends Error{constructor(e,n,i="FieldValueInvalidError"){super(n),this.name=i,this.field=()=>e}}function gf(t){return t instanceof Error&&uf.includes(t.name)&&"field"in t&&typeof t.field=="function"}const cl=Symbol.for("@bufbuild/protobuf/text-encoding");function mr(){if(globalThis[cl]==null){const t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[cl]={encodeUtf8(n){return t.encode(n)},decodeUtf8(n){return e.decode(n)},checkUtf8(n){try{return encodeURIComponent(n),!0}catch{return!1}}}}return globalThis[cl]}var fe;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(fe||(fe={}));const Hd=34028234663852886e22,Dd=-34028234663852886e22,_d=4294967295,jd=2147483647,Pd=-2147483648;class Od{constructor(e=mr().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let l=0;l>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(Za(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return dl(e),Bl(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let n=this.encodeUtf8(e);return this.uint32(n.byteLength),this.raw(n)}float(e){hf(e);let n=new Uint8Array(4);return new DataView(n.buffer).setFloat32(0,e,!0),this.raw(n)}double(e){let n=new Uint8Array(8);return new DataView(n.buffer).setFloat64(0,e,!0),this.raw(n)}fixed32(e){Za(e);let n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,!0),this.raw(n)}sfixed32(e){dl(e);let n=new Uint8Array(4);return new DataView(n.buffer).setInt32(0,e,!0),this.raw(n)}sint32(e){return dl(e),e=(e<<1^e>>31)>>>0,Bl(e,this.buf),this}sfixed64(e){let n=new Uint8Array(8),i=new DataView(n.buffer),l=de.enc(e);return i.setInt32(0,l.lo,!0),i.setInt32(4,l.hi,!0),this.raw(n)}fixed64(e){let n=new Uint8Array(8),i=new DataView(n.buffer),l=de.uEnc(e);return i.setInt32(0,l.lo,!0),i.setInt32(4,l.hi,!0),this.raw(n)}int64(e){let n=de.enc(e);return ol(n.lo,n.hi,this.buf),this}sint64(e){const n=de.enc(e),i=n.hi>>31,l=n.lo<<1^i,r=(n.hi<<1|n.lo>>>31)^i;return ol(l,r,this.buf),this}uint64(e){const n=de.uEnc(e);return ol(n.lo,n.hi,this.buf),this}}class fr{constructor(e,n=mr().decodeUtf8){this.decodeUtf8=n,this.varint64=Dm,this.uint32=Pm,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),n=e>>>3,i=e&7;if(n<=0||i<0||i>5)throw new Error("illegal tag: field no "+n+" wire type "+i);return[n,i]}skip(e,n){let i=this.pos;switch(e){case fe.Varint:for(;this.buf[this.pos++]&128;);break;case fe.Bit64:this.pos+=4;case fe.Bit32:this.pos+=4;break;case fe.LengthDelimited:let l=this.uint32();this.pos+=l;break;case fe.StartGroup:for(;;){const[r,o]=this.tag();if(o===fe.EndGroup){if(n!==void 0&&r!==n)throw new Error("invalid end group tag");break}this.skip(o,r)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(i,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return de.dec(...this.varint64())}uint64(){return de.uDec(...this.varint64())}sint64(){let[e,n]=this.varint64(),i=-(e&1);return e=(e>>>1|(n&1)<<31)^i,n=n>>>1^i,de.dec(e,n)}bool(){let[e,n]=this.varint64();return e!==0||n!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return de.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return de.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),n=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(n,n+e)}string(){return this.decodeUtf8(this.bytes())}}function dl(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid int32: "+typeof t);if(!Number.isInteger(t)||t>jd||t_d||t<0)throw new Error("invalid uint32: "+t)}function hf(t){if(typeof t=="string"){const e=t;if(t=Number(t),Number.isNaN(t)&&e!=="NaN")throw new Error("invalid float32: "+e)}else if(typeof t!="number")throw new Error("invalid float32: "+typeof t);if(Number.isFinite(t)&&(t>Hd||tn.number===e):hr(e,t.message)}function $d(t,e){switch(e){case Z.DOUBLE:return typeof t=="number";case Z.FLOAT:return typeof t!="number"?!1:Number.isNaN(t)||!Number.isFinite(t)?!0:t>Hd||tjd||t_d||t<0?`${t.toFixed()} out of range`:!0;case Z.BOOL:return typeof t=="boolean";case Z.STRING:return typeof t!="string"?!1:mr().checkUtf8(t)||"invalid UTF8";case Z.BYTES:return t instanceof Uint8Array;case Z.INT64:case Z.SFIXED64:case Z.SINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return de.parse(t),!0}catch{return`${t} out of range`}return!1;case Z.FIXED64:case Z.UINT64:if(typeof t=="bigint"||typeof t=="number"||typeof t=="string"&&t.length>0)try{return de.uParse(t),!0}catch{return`${t} out of range`}return!1}}function yi(t,e,n){return n=typeof n=="string"?`: ${n}`:`, got ${ve(e)}`,t.scalar!==void 0?`expected ${Vf(t.scalar)}`+n:t.enum!==void 0?`expected ${t.enum.toString()}`+n:`expected ${qd(t.message)}`+n}function ve(t){switch(typeof t){case"object":return t===null?"null":t instanceof Uint8Array?`Uint8Array(${t.length})`:Array.isArray(t)?`Array(${t.length})`:ur(t)?es(t.field()):gr(t)?ts(t.field()):hr(t)?qd(t.desc):dr(t)?`message ${t.$typeName}`:"object";case"string":return t.length>30?"string":`"${t.split('"').join('\\"')}"`;case"boolean":return String(t);case"number":return String(t);case"bigint":return String(t)+"n";default:return typeof t}}function qd(t){return`ReflectMessage (${t.typeName})`}function es(t){switch(t.listKind){case"message":return`ReflectList (${t.message.toString()})`;case"enum":return`ReflectList (${t.enum.toString()})`;case"scalar":return`ReflectList (${Z[t.scalar]})`}}function ts(t){switch(t.mapKind){case"message":return`ReflectMap (${Z[t.mapKey]}, ${t.message.toString()})`;case"enum":return`ReflectMap (${Z[t.mapKey]}, ${t.enum.toString()})`;case"scalar":return`ReflectMap (${Z[t.mapKey]}, ${Z[t.scalar]})`}}function Vf(t){switch(t){case Z.STRING:return"string";case Z.BOOL:return"boolean";case Z.INT64:case Z.SINT64:case Z.SFIXED64:return"bigint (int64)";case Z.UINT64:case Z.FIXED64:return"bigint (uint64)";case Z.BYTES:return"Uint8Array";case Z.DOUBLE:return"number (float64)";case Z.FLOAT:return"number (float32)";case Z.FIXED32:case Z.UINT32:return"number (uint32)";case Z.INT32:case Z.SFIXED32:case Z.SINT32:return"number (int32)"}}function ot(t,e,n=!0){return new ns(t,e,n)}class ns{get sortedFields(){var e;return(e=this._sortedFields)!==null&&e!==void 0?e:this._sortedFields=this.desc.fields.concat().sort((n,i)=>n.number-i.number)}constructor(e,n,i=!0){this.lists=new Map,this.maps=new Map,this.check=i,this.desc=e,this.message=this[It]=n??st(e),this.fields=e.fields,this.oneofs=e.oneofs,this.members=e.members}findNumber(e){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map(n=>[n.number,n]))),this._fieldsByNumber.get(e)}oneofCase(e){return mn(this.message,e),Qd(this.message,e)}isSet(e){return mn(this.message,e),qm(this.message,e)}clear(e){mn(this.message,e),ef(this.message,e)}get(e){mn(this.message,e);const n=Ld(this.message,e);switch(e.fieldKind){case"list":let i=this.lists.get(e);return(!i||i[It]!==n)&&this.lists.set(e,i=new mf(e,n,this.check)),i;case"map":let l=this.maps.get(e);return(!l||l[It]!==n)&&this.maps.set(e,l=new ff(e,n,this.check)),l;case"message":return Zr(e,n,this.check);case"scalar":return n===void 0?Mt(e.scalar,!1):Gr(e,n);case"enum":return n??e.enum.values[0].number}}set(e,n){if(mn(this.message,e),this.check){const l=xt(e,n);if(l)throw l}let i;e.fieldKind=="message"?i=pr(e,n):gr(n)||ur(n)?i=n[It]:i=Xr(e,n),Kd(this.message,e,i)}getUnknown(){return this.message.$unknown}setUnknown(e){this.message.$unknown=e}}function mn(t,e){if(e.parent.typeName!==t.$typeName)throw new qe(e,`cannot use ${e.toString()} with message ${t.$typeName}`,"ForeignFieldError")}class mf{field(){return this._field}get size(){return this._arr.length}constructor(e,n,i){this._field=e,this._arr=this[It]=n,this.check=i}get(e){const n=this._arr[e];return n===void 0?void 0:sl(this._field,n,this.check)}set(e,n){if(e<0||e>=this._arr.length)throw new qe(this._field,`list item #${e+1}: out of range`);if(this.check){const i=Ga(this._field,e,n);if(i)throw i}this._arr[e]=Xa(this._field,n)}add(e){if(this.check){const n=Ga(this._field,this._arr.length,e);if(n)throw n}this._arr.push(Xa(this._field,e))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(const e of this._arr)yield sl(this._field,e,this.check)}*entries(){for(let e=0;e>4,a=o,r=2;break;case 2:i[l++]=(a&15)<<4|(o&60)>>2,a=o,r=3;break;case 3:i[l++]=(a&3)<<6|o,r=0;break}}if(r==1)throw Error("invalid base64 string");return i.subarray(0,l)}function as(t,e="std"){const n=cs(e),i=e=="std";let l="",r=0,o,a=0;for(let c=0;c>2],a=(o&3)<<4,r=1;break;case 1:l+=n[a|o>>4],a=(o&15)<<2,r=2;break;case 2:l+=n[a|o>>6],l+=n[o&63],r=0;break}return r&&(l+=n[a],i&&(l+="=",r==1&&(l+="="))),l}let ii,Ra,_t;function cs(t){return ii||(ii="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Ra=ii.slice(0,-2).concat("-","_")),t=="url"?Ra:ii}function pf(){if(!_t){_t=[];const t=cs("std");for(let e=0;ei.name===e);if(!n)throw new Error(`cannot parse ${t} default value: ${e}`);return n.number}function Xf(t,e){switch(t){case Z.STRING:return e;case Z.BYTES:{const n=If(e);if(n===!1)throw new Error(`cannot parse ${Z[t]} default value: ${e}`);return n}case Z.INT64:case Z.SFIXED64:case Z.SINT64:return de.parse(e);case Z.UINT64:case Z.FIXED64:return de.uParse(e);case Z.DOUBLE:case Z.FLOAT:switch(e){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(e)}case Z.BOOL:return e==="true";case Z.INT32:case Z.UINT32:case Z.SINT32:case Z.FIXED32:case Z.SFIXED32:return parseInt(e,10)}}function If(t){const e=[],n={tail:t,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(i){if(this.tail.length>=i){const l=this.tail.substring(0,i);return this.tail=this.tail.substring(i),l}return!1}};for(;n.next();)switch(n.c){case"\\":if(n.next())switch(n.c){case"\\":e.push(n.c.charCodeAt(0));break;case"b":e.push(8);break;case"f":e.push(12);break;case"n":e.push(10);break;case"r":e.push(13);break;case"t":e.push(9);break;case"v":e.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{const i=n.c,l=n.take(2);if(l===!1)return!1;const r=parseInt(i+l,8);if(Number.isNaN(r))return!1;e.push(r);break}case"x":{const i=n.c,l=n.take(2);if(l===!1)return!1;const r=parseInt(i+l,16);if(Number.isNaN(r))return!1;e.push(r);break}case"u":{const i=n.c,l=n.take(4);if(l===!1)return!1;const r=parseInt(i+l,16);if(Number.isNaN(r))return!1;const o=new Uint8Array(4);new DataView(o.buffer).setInt32(0,r,!0),e.push(o[0],o[1],o[2],o[3]);break}case"U":{const i=n.c,l=n.take(8);if(l===!1)return!1;const r=de.uEnc(i+l),o=new Uint8Array(8),a=new DataView(o.buffer);a.setInt32(0,r.lo,!0),a.setInt32(4,r.hi,!0),e.push(o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7]);break}}break;default:e.push(n.c.charCodeAt(0))}return new Uint8Array(e)}function*Nl(t){switch(t.kind){case"file":for(const e of t.messages)yield e,yield*Nl(e);yield*t.enums,yield*t.services,yield*t.extensions;break;case"message":for(const e of t.nestedMessages)yield e,yield*Nl(e);yield*t.nestedEnums,yield*t.nestedExtensions;break}}function ds(...t){const e=Rf();if(!t.length)return e;if("$typeName"in t[0]&&t[0].$typeName=="google.protobuf.FileDescriptorSet"){for(const i of t[0].file)Sa(i,e);return e}if("$typeName"in t[0]){let o=function(a){const c=[];for(const d of a.dependency){if(e.getFile(d)!=null||r.has(d))continue;const s=l(d);if(!s)throw new Error(`Unable to resolve ${d}, imported by ${a.name}`);"kind"in s?e.addFile(s,!1,!0):(r.add(s.name),c.push(s))}return c.concat(...c.map(o))};var n=o;const i=t[0],l=t[1],r=new Set;for(const a of[i,...o(i)].reverse())Sa(a,e)}else for(const i of t)for(const l of i.files)e.addFile(l);return e}function Rf(){const t=new Map,e=new Map,n=new Map;return{kind:"registry",types:t,extendees:e,[Symbol.iterator](){return t.values()},get files(){return n.values()},addFile(i,l,r){if(n.set(i.proto.name,i),!l)for(const o of Nl(i))this.add(o);if(r)for(const o of i.dependencies)this.addFile(o,l,r)},add(i){if(i.kind=="extension"){let l=e.get(i.extendee.typeName);l||e.set(i.extendee.typeName,l=new Map),l.set(i.number,i)}t.set(i.typeName,i)},get(i){return t.get(i)},getFile(i){return n.get(i)},getMessage(i){const l=t.get(i);return(l==null?void 0:l.kind)=="message"?l:void 0},getEnum(i){const l=t.get(i);return(l==null?void 0:l.kind)=="enum"?l:void 0},getExtension(i){const l=t.get(i);return(l==null?void 0:l.kind)=="extension"?l:void 0},getExtensionFor(i,l){var r;return(r=e.get(i.typeName))===null||r===void 0?void 0:r.get(l)},getService(i){const l=t.get(i);return(l==null?void 0:l.kind)=="service"?l:void 0}}}const Ef=998,yf=999,vf=9,Nn=10,In=11,Sf=12,Ea=14,Er=3,Cf=2,ya=1,Wf=0,gl=1,va=2,Bf=3,Nf=1,Ff=2,Yf=1,ss={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2,defaultSymbolVisibility:1},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1001:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:1,defaultSymbolVisibility:2}};function Sa(t,e){var n,i;const l={kind:"file",proto:t,deprecated:(i=(n=t.options)===null||n===void 0?void 0:n.deprecated)!==null&&i!==void 0?i:!1,edition:wf(t),name:t.name.replace(/\.proto$/,""),dependencies:kf(t,e),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${t.name}`}},r=new Map,o={get(a){return r.get(a)},add(a){var c;dt(((c=a.proto.options)===null||c===void 0?void 0:c.mapEntry)===!0),r.set(a.typeName,a)}};for(const a of t.enumType)us(a,l,void 0,e);for(const a of t.messageType)gs(a,l,void 0,e,o);for(const a of t.service)Uf(a,l,e);Fl(l,e);for(const a of r.values())Yl(a,e,o);for(const a of l.messages)Yl(a,e,o),Fl(a,e);e.addFile(l,!0)}function Fl(t,e){switch(t.kind){case"file":for(const n of t.proto.extension){const i=Ul(n,t,e);t.extensions.push(i),e.add(i)}break;case"message":for(const n of t.proto.extension){const i=Ul(n,t,e);t.nestedExtensions.push(i),e.add(i)}for(const n of t.nestedMessages)Fl(n,e);break}}function Yl(t,e,n){const i=t.proto.oneofDecl.map(r=>xf(r,t)),l=new Set;for(const r of t.proto.field){const o=Lf(r,i),a=Ul(r,t,e,o,n);t.fields.push(a),t.field[a.localName]=a,o===void 0?t.members.push(a):(o.fields.push(a),l.has(o)||(l.add(o),t.members.push(o)))}for(const r of i.filter(o=>l.has(o)))t.oneofs.push(r);for(const r of t.nestedMessages)Yl(r,e,n)}function us(t,e,n,i){var l,r,o,a,c;const d=zf(t.name,t.value),s={kind:"enum",proto:t,deprecated:(r=(l=t.options)===null||l===void 0?void 0:l.deprecated)!==null&&r!==void 0?r:!1,file:e,parent:n,open:!0,name:t.name,typeName:xi(t,n,e),value:{},values:[],sharedPrefix:d,toString(){return`enum ${this.typeName}`}};s.open=Hf(s),i.add(s);for(const u of t.value){const h=u.name;s.values.push(s.value[u.number]={kind:"enum_value",proto:u,deprecated:(a=(o=u.options)===null||o===void 0?void 0:o.deprecated)!==null&&a!==void 0?a:!1,parent:s,name:h,localName:Bn(d==null?h:h.substring(d.length)),number:u.number,toString(){return`enum value ${s.typeName}.${h}`}})}((c=n==null?void 0:n.nestedEnums)!==null&&c!==void 0?c:e.enums).push(s)}function gs(t,e,n,i,l){var r,o,a,c;const d={kind:"message",proto:t,deprecated:(o=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,file:e,parent:n,name:t.name,typeName:xi(t,n,e),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((a=t.options)===null||a===void 0?void 0:a.mapEntry)===!0?l.add(d):(((c=n==null?void 0:n.nestedMessages)!==null&&c!==void 0?c:e.messages).push(d),i.add(d));for(const s of t.enumType)us(s,e,d,i);for(const s of t.nestedType)gs(s,e,d,i,l)}function Uf(t,e,n){var i,l;const r={kind:"service",proto:t,deprecated:(l=(i=t.options)===null||i===void 0?void 0:i.deprecated)!==null&&l!==void 0?l:!1,file:e,name:t.name,typeName:xi(t,void 0,e),methods:[],method:{},toString(){return`service ${this.typeName}`}};e.services.push(r),n.add(r);for(const o of t.method){const a=Jf(o,r,n);r.methods.push(a),r.method[a.localName]=a}}function Jf(t,e,n){var i,l,r,o;let a;t.clientStreaming&&t.serverStreaming?a="bidi_streaming":t.clientStreaming?a="client_streaming":t.serverStreaming?a="server_streaming":a="unary";const c=n.getMessage(Xt(t.inputType)),d=n.getMessage(Xt(t.outputType));dt(c,`invalid MethodDescriptorProto: input_type ${t.inputType} not found`),dt(d,`invalid MethodDescriptorProto: output_type ${t.inputType} not found`);const s=t.name;return{kind:"rpc",proto:t,deprecated:(l=(i=t.options)===null||i===void 0?void 0:i.deprecated)!==null&&l!==void 0?l:!1,parent:e,name:s,localName:Bn(s.length?Bn(s[0].toLowerCase()+s.substring(1)):s),methodKind:a,input:c,output:d,idempotency:(o=(r=t.options)===null||r===void 0?void 0:r.idempotencyLevel)!==null&&o!==void 0?o:Wf,toString(){return`rpc ${e.typeName}.${s}`}}}function xf(t,e){return{kind:"oneof",proto:t,deprecated:!1,parent:e,fields:[],name:t.name,localName:Bn(Wn(t.name)),toString(){return`oneof ${e.typeName}.${this.name}`}}}function Ul(t,e,n,i,l){var r,o,a;const c=l===void 0,d={kind:"field",proto:t,deprecated:(o=(r=t.options)===null||r===void 0?void 0:r.deprecated)!==null&&o!==void 0?o:!1,name:t.name,number:t.number,scalar:void 0,message:void 0,enum:void 0,presence:Kf(t,i,c,e),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(c){const g=e.kind=="file"?e:e.file,b=e.kind=="file"?void 0:e,m=xi(t,b,g);d.kind="extension",d.file=g,d.parent=b,d.oneof=void 0,d.typeName=m,d.jsonName=`[${m}]`,d.toString=()=>`extension ${m}`;const f=n.getMessage(Xt(t.extendee));dt(f,`invalid FieldDescriptorProto: extendee ${t.extendee} not found`),d.extendee=f}else{const g=e;dt(g.kind=="message"),d.parent=g,d.oneof=i,d.localName=i?Wn(t.name):Bn(Wn(t.name)),d.jsonName=t.jsonName,d.toString=()=>`field ${g.typeName}.${t.name}`}const s=t.label,u=t.type,h=(a=t.options)===null||a===void 0?void 0:a.jstype;if(s===Er){const g=u==In?l==null?void 0:l.get(Xt(t.typeName)):void 0;if(g){d.fieldKind="map";const{key:b,value:m}=Mf(g);return d.mapKey=b.scalar,d.mapKind=m.fieldKind,d.message=m.message,d.delimitedEncoding=!1,d.enum=m.enum,d.scalar=m.scalar,d}switch(d.fieldKind="list",u){case In:case Nn:d.listKind="message",d.message=n.getMessage(Xt(t.typeName)),dt(d.message),d.delimitedEncoding=Ca(t,e);break;case Ea:d.listKind="enum",d.enum=n.getEnum(Xt(t.typeName)),dt(d.enum);break;default:d.listKind="scalar",d.scalar=u,d.longAsString=h==ya;break}return d.packed=Tf(t,e),d}switch(u){case In:case Nn:d.fieldKind="message",d.message=n.getMessage(Xt(t.typeName)),dt(d.message,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),d.delimitedEncoding=Ca(t,e),d.getDefaultValue=()=>{};break;case Ea:{const g=n.getEnum(Xt(t.typeName));dt(g!==void 0,`invalid FieldDescriptorProto: type_name ${t.typeName} not found`),d.fieldKind="enum",d.enum=n.getEnum(Xt(t.typeName)),d.getDefaultValue=()=>Cn(t,"defaultValue")?Gf(g,t.defaultValue):void 0;break}default:{d.fieldKind="scalar",d.scalar=u,d.longAsString=h==ya,d.getDefaultValue=()=>Cn(t,"defaultValue")?Xf(u,t.defaultValue):void 0;break}}return d}function wf(t){switch(t.syntax){case"":case"proto2":return Ef;case"proto3":return yf;case"editions":if(t.edition in ss)return t.edition;throw new Error(`${t.name}: unsupported edition`);default:throw new Error(`${t.name}: unsupported syntax "${t.syntax}"`)}}function kf(t,e){return t.dependency.map(n=>{const i=e.getFile(n);if(!i)throw new Error(`Cannot find ${n}, imported by ${t.name}`);return i})}function zf(t,e){const n=Qf(t)+"_";for(const i of e){if(!i.name.toLowerCase().startsWith(n))return;const l=i.name.substring(n.length);if(l.length==0||/^\d/.test(l))return}return n}function Qf(t){return(t.substring(0,1)+t.substring(1).replace(/[A-Z]/g,e=>"_"+e)).toLowerCase()}function xi(t,e,n){let i;return e?i=`${e.typeName}.${t.name}`:n.proto.package.length>0?i=`${n.proto.package}.${t.name}`:i=`${t.name}`,i}function Xt(t){return t.startsWith(".")?t.substring(1):t}function Lf(t,e){if(!Cn(t,"oneofIndex")||t.proto3Optional)return;const n=e[t.oneofIndex];return dt(n,`invalid FieldDescriptorProto: oneof #${t.oneofIndex} for field #${t.number} not found`),n}function Kf(t,e,n,i){if(t.label==Cf)return Bf;if(t.label==Er)return va;if(e||t.proto3Optional||n)return gl;const l=rn("fieldPresence",{proto:t,parent:i});return l==va&&(t.type==In||t.type==Nn)?gl:l}function Tf(t,e){if(t.label!=Er)return!1;switch(t.type){case vf:case Sf:case Nn:case In:return!1}const n=t.options;return n&&Cn(n,"packed")?n.packed:Nf==rn("repeatedFieldEncoding",{proto:t,parent:e})}function Mf(t){const e=t.fields.find(i=>i.number===1),n=t.fields.find(i=>i.number===2);return dt(e&&e.fieldKind=="scalar"&&e.scalar!=Z.BYTES&&e.scalar!=Z.FLOAT&&e.scalar!=Z.DOUBLE&&n&&n.fieldKind!="list"&&n.fieldKind!="map"),{key:e,value:n}}function Hf(t){var e;return Yf==rn("enumType",{proto:t.proto,parent:(e=t.parent)!==null&&e!==void 0?e:t.file})}function Ca(t,e){return t.type==Nn?!0:Ff==rn("messageEncoding",{proto:t,parent:e})}function rn(t,e){var n,i;const l=(n=e.proto.options)===null||n===void 0?void 0:n.features;if(l){const r=l[t];if(r!=0)return r}if("kind"in e){if(e.kind=="message")return rn(t,(i=e.parent)!==null&&i!==void 0?i:e.file);const r=ss[e.edition];if(!r)throw new Error(`feature default for edition ${e.edition} not found`);return r[t]}return rn(t,e.parent)}function dt(t,e){if(!t)throw new Error(e)}function Df(t){const e=_f(t);return e.messageType.forEach(Rr),ds(e,()=>{}).getFile(e.name)}function _f(t){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},t),{messageType:t.messageType.map(hs),enumType:t.enumType.map(bs)}))}function hs(t){var e,n,i,l,r,o,a,c;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:t.name,field:(n=(e=t.field)===null||e===void 0?void 0:e.map(jf))!==null&&n!==void 0?n:[],extension:[],nestedType:(l=(i=t.nestedType)===null||i===void 0?void 0:i.map(hs))!==null&&l!==void 0?l:[],enumType:(o=(r=t.enumType)===null||r===void 0?void 0:r.map(bs))!==null&&o!==void 0?o:[],extensionRange:(c=(a=t.extensionRange)===null||a===void 0?void 0:a.map(s=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},s)))!==null&&c!==void 0?c:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function jf(t){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},t),{options:t.options?Pf(t.options):void 0}))}function Pf(t){var e,n,i;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},t),{targets:(e=t.targets)!==null&&e!==void 0?e:[],editionDefaults:(i=(n=t.editionDefaults)===null||n===void 0?void 0:n.map(r=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},r)))!==null&&i!==void 0?i:[],uninterpretedOption:[]}))}function bs(t){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:t.name,reservedName:[],reservedRange:[],value:t.value.map(n=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},n))})}function Tn(t,e,...n){return n.reduce((i,l)=>i.nestedMessages[l],t.messages[e])}const Vs=Df({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:536000001}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"option_dependency",number:15,type:9,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3},{name:"visibility",number:11,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3},{name:"visibility",number:6,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false"},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true"},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false",options:{deprecated:!0}},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001}]}},{name:"default_symbol_visibility",number:8,type:14,label:1,typeName:".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility",options:{retention:2,targets:[1],editionDefaults:[{value:"EXPORT_ALL",edition:900},{value:"EXPORT_TOP_LEVEL",edition:1001}]}}],nestedType:[{name:"VisibilityFeature",enumType:[{name:"DefaultSymbolVisibility",value:[{name:"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",number:0},{name:"EXPORT_ALL",number:1},{name:"EXPORT_TOP_LEVEL",number:2},{name:"LOCAL_ALL",number:3},{name:"STRICT",number:4}]}]}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:2147483647}]},{name:"SymbolVisibility",value:[{name:"VISIBILITY_UNSET",number:0},{name:"VISIBILITY_LOCAL",number:1},{name:"VISIBILITY_EXPORT",number:2}]}]}),Of=Tn(Vs,1);var Wa;(function(t){t[t.DECLARATION=0]="DECLARATION",t[t.UNVERIFIED=1]="UNVERIFIED"})(Wa||(Wa={}));var Ba;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.GROUP=10]="GROUP",t[t.MESSAGE=11]="MESSAGE",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.ENUM=14]="ENUM",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(Ba||(Ba={}));var Na;(function(t){t[t.OPTIONAL=1]="OPTIONAL",t[t.REPEATED=3]="REPEATED",t[t.REQUIRED=2]="REQUIRED"})(Na||(Na={}));var Fa;(function(t){t[t.SPEED=1]="SPEED",t[t.CODE_SIZE=2]="CODE_SIZE",t[t.LITE_RUNTIME=3]="LITE_RUNTIME"})(Fa||(Fa={}));var Ya;(function(t){t[t.STRING=0]="STRING",t[t.CORD=1]="CORD",t[t.STRING_PIECE=2]="STRING_PIECE"})(Ya||(Ya={}));var Ua;(function(t){t[t.JS_NORMAL=0]="JS_NORMAL",t[t.JS_STRING=1]="JS_STRING",t[t.JS_NUMBER=2]="JS_NUMBER"})(Ua||(Ua={}));var Ja;(function(t){t[t.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",t[t.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",t[t.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(Ja||(Ja={}));var xa;(function(t){t[t.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",t[t.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",t[t.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",t[t.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",t[t.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",t[t.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",t[t.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",t[t.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",t[t.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",t[t.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(xa||(xa={}));var Jl;(function(t){t[t.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",t[t.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",t[t.IDEMPOTENT=2]="IDEMPOTENT"})(Jl||(Jl={}));var wa;(function(t){t[t.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",t[t.EXPORT_ALL=1]="EXPORT_ALL",t[t.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",t[t.LOCAL_ALL=3]="LOCAL_ALL",t[t.STRICT=4]="STRICT"})(wa||(wa={}));var ka;(function(t){t[t.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",t[t.EXPLICIT=1]="EXPLICIT",t[t.IMPLICIT=2]="IMPLICIT",t[t.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(ka||(ka={}));var za;(function(t){t[t.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",t[t.OPEN=1]="OPEN",t[t.CLOSED=2]="CLOSED"})(za||(za={}));var Qa;(function(t){t[t.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",t[t.PACKED=1]="PACKED",t[t.EXPANDED=2]="EXPANDED"})(Qa||(Qa={}));var La;(function(t){t[t.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",t[t.VERIFY=2]="VERIFY",t[t.NONE=3]="NONE"})(La||(La={}));var Ka;(function(t){t[t.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",t[t.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",t[t.DELIMITED=2]="DELIMITED"})(Ka||(Ka={}));var Ta;(function(t){t[t.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",t[t.ALLOW=1]="ALLOW",t[t.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})(Ta||(Ta={}));var Ma;(function(t){t[t.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",t[t.STYLE2024=1]="STYLE2024",t[t.STYLE_LEGACY=2]="STYLE_LEGACY"})(Ma||(Ma={}));var Ha;(function(t){t[t.NONE=0]="NONE",t[t.SET=1]="SET",t[t.ALIAS=2]="ALIAS"})(Ha||(Ha={}));var Da;(function(t){t[t.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",t[t.EDITION_LEGACY=900]="EDITION_LEGACY",t[t.EDITION_PROTO2=998]="EDITION_PROTO2",t[t.EDITION_PROTO3=999]="EDITION_PROTO3",t[t.EDITION_2023=1e3]="EDITION_2023",t[t.EDITION_2024=1001]="EDITION_2024",t[t.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",t[t.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",t[t.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",t[t.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",t[t.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",t[t.EDITION_MAX=2147483647]="EDITION_MAX"})(Da||(Da={}));var _a;(function(t){t[t.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",t[t.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",t[t.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(_a||(_a={}));const ja={readUnknownFields:!0};function $f(t){return t?Object.assign(Object.assign({},ja),t):ja}function wi(t,e,n){const i=ot(t,void 0,!1);return ms(i,new fr(e),$f(n),!1,e.byteLength),i.message}function ms(t,e,n,i,l){var r;const o=i?e.len:e.pos+l;let a,c;const d=(r=t.getUnknown())!==null&&r!==void 0?r:[];for(;e.pos0&&t.setUnknown(d)}function fs(t,e,n,i,l){var r;switch(n.fieldKind){case"scalar":t.set(n,on(e,n.scalar));break;case"enum":const o=on(e,Z.INT32);if(n.enum.open)t.set(n,o);else if(n.enum.values.some(c=>c.number===o))t.set(n,o);else if(l.readUnknownFields){const c=[];Bl(o,c);const d=(r=t.getUnknown())!==null&&r!==void 0?r:[];d.push({no:n.number,wireType:i,data:new Uint8Array(c)}),t.setUnknown(d)}break;case"message":t.set(n,yr(e,l,n,t.get(n)));break;case"list":eA(e,i,t.get(n),l);break;case"map":qf(e,t.get(n),l);break}}function qf(t,e,n){const i=e.field();let l,r;const o=t.uint32(),a=t.pos+o;for(;t.posr.proto.name))!==null&&n!==void 0?n:[],ds(i,r=>e==null?void 0:e.find(o=>o.proto.name===r)).getFile(i.name)}const ee=z("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),As=z("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),tA=Tn(As,0),nA=3,Pa={writeUnknownFields:!0};function iA(t){return t?Object.assign(Object.assign({},Pa),t):Pa}function ps(t,e,n){return vi(new Od,iA(n),ot(t,e)).finish()}function vi(t,e,n){var i;for(const l of n.sortedFields){if(!n.isSet(l)){if(l.presence==nA)throw new Error(`cannot encode ${l} to binary: required field not set`);continue}Zs(t,e,n,l)}if(e.writeUnknownFields)for(const{no:l,wireType:r,data:o}of(i=n.getUnknown())!==null&&i!==void 0?i:[])t.tag(l,r).raw(o);return t}function Zs(t,e,n,i){var l;switch(i.fieldKind){case"scalar":case"enum":Si(t,n.desc.typeName,i.name,(l=i.scalar)!==null&&l!==void 0?l:Z.INT32,i.number,n.get(i));break;case"list":lA(t,e,i,n.get(i));break;case"message":Gs(t,e,i,n.get(i));break;case"map":for(const[r,o]of n.get(i))rA(t,e,i,r,o);break}}function Si(t,e,n,i,l,r){Xs(t.tag(l,oA(i)),e,n,i,r)}function Gs(t,e,n,i){n.delimitedEncoding?vi(t.tag(n.number,fe.StartGroup),e,i).tag(n.number,fe.EndGroup):vi(t.tag(n.number,fe.LengthDelimited).fork(),e,i).join()}function lA(t,e,n,i){var l;if(n.listKind=="message"){for(const o of i)Gs(t,e,n,o);return}const r=(l=n.scalar)!==null&&l!==void 0?l:Z.INT32;if(n.packed){if(!i.size)return;t.tag(n.number,fe.LengthDelimited).fork();for(const o of i)Xs(t,n.parent.typeName,n.name,r,o);t.join();return}for(const o of i)Si(t,n.parent.typeName,n.name,r,n.number,o)}function rA(t,e,n,i,l){var r;switch(t.tag(n.number,fe.LengthDelimited).fork(),Si(t,n.parent.typeName,n.name,n.mapKey,1,i),n.mapKind){case"scalar":case"enum":Si(t,n.parent.typeName,n.name,(r=n.scalar)!==null&&r!==void 0?r:Z.INT32,2,l);break;case"message":vi(t.tag(2,fe.LengthDelimited).fork(),e,l).join();break}t.join()}function Xs(t,e,n,i,l){try{switch(i){case Z.STRING:t.string(l);break;case Z.BOOL:t.bool(l);break;case Z.DOUBLE:t.double(l);break;case Z.FLOAT:t.float(l);break;case Z.INT32:t.int32(l);break;case Z.INT64:t.int64(l);break;case Z.UINT64:t.uint64(l);break;case Z.FIXED64:t.fixed64(l);break;case Z.BYTES:t.bytes(l);break;case Z.FIXED32:t.fixed32(l);break;case Z.SFIXED32:t.sfixed32(l);break;case Z.SFIXED64:t.sfixed64(l);break;case Z.SINT64:t.sint64(l);break;case Z.UINT32:t.uint32(l);break;case Z.SINT32:t.sint32(l);break}}catch(r){throw r instanceof Error?new Error(`cannot encode field ${e}.${n} to binary: ${r.message}`):r}}function oA(t){switch(t){case Z.BYTES:case Z.STRING:return fe.LengthDelimited;case Z.DOUBLE:case Z.FIXED64:case Z.SFIXED64:return fe.Bit64;case Z.FIXED32:case Z.SFIXED32:case Z.FLOAT:return fe.Bit32;default:return fe.Varint}}function aA(t,e,n){let i=!1;return n||(n=st(tA),i=!0),n.value=ps(t,e),n.typeUrl=sA(e.$typeName),i?n:void 0}function cA(t,e){if(t.typeUrl==="")return!1;const n=typeof e=="string"?e:e.typeName,i=Is(t.typeUrl);return n===i}function dA(t,e){if(t.typeUrl==="")return;const n=e.kind=="message"?e:e.getMessage(Is(t.typeUrl));if(!(!n||!cA(t,n)))return wi(n,t.value)}function sA(t){return`type.googleapis.com/${t}`}function Is(t){const e=t.lastIndexOf("/"),n=e>=0?t.substring(e+1):t;if(!n.length)throw new Error(`invalid type url: ${t}`);return n}const uA=z("Ch5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIqCghEdXJhdGlvbhIPCgdzZWNvbmRzGAEgASgDEg0KBW5hbm9zGAIgASgFQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw"),gA=z("Chtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ9ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaLmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2VtcHR5cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw"),He=z("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),hA=Tn(He,0),Rs=Tn(He,1),bA=Tn(He,2);var xl;(function(t){t[t.NULL_VALUE=0]="NULL_VALUE"})(xl||(xl={}));function VA(t,e){Es(e,t);const n=fA(t.$unknown,e),[i,l,r]=ki(e);for(const o of n)fs(i,new fr(o.data),l,o.wireType,{readUnknownFields:!0});return r()}function mA(t,e,n){var i;Es(e,t);const l=((i=t.$unknown)!==null&&i!==void 0?i:[]).filter(d=>d.no!==e.number),[r,o]=ki(e,n),a=new Od;Zs(a,{writeUnknownFields:!0},r,o);const c=new fr(a.finish());for(;c.pos=0;--n)if(t[n].no==e.number)return[t[n]];return[]}return t.filter(n=>n.no===e.number)}function ki(t,e){const n=t.typeName,i=Object.assign(Object.assign({},t),{kind:"field",parent:t.extendee,localName:n}),l=Object.assign(Object.assign({},t.extendee),{fields:[i],members:[i],oneofs:[]}),r=st(l,e!==void 0?{[n]:e}:void 0);return[ot(l,r),i,()=>{const o=r[n];if(o===void 0){const a=t.message;return Kn(a)?Mt(a.fields[0].scalar,a.fields[0].longAsString):st(a)}return o}]}function Es(t,e){if(t.extendee.typeName!=e.$typeName)throw new Error(`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}const AA=3,pA=2,Oa={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function ZA(t){return t?Object.assign(Object.assign({},Oa),t):Oa}function GA(t,e,n){return Mn(ot(t,e),ZA(n))}function XA(t,e,n){var i;const l=GA(t,e,n);return JSON.stringify(l,null,(i=n==null?void 0:n.prettySpaces)!==null&&i!==void 0?i:0)}function Mn(t,e){var n;const i=yA(t,e);if(i!==void 0)return i;const l={};for(const r of t.sortedFields){if(!t.isSet(r)){if(r.presence==AA)throw new Error(`cannot encode ${r} to JSON: required field not set`);if(!e.alwaysEmitImplicit||r.presence!==pA)continue}const o=$a(r,t.get(r),e);o!==void 0&&(l[EA(r,e)]=o)}if(e.registry){const r=new Set;for(const{no:o}of(n=t.getUnknown())!==null&&n!==void 0?n:[])if(!r.has(o)){r.add(o);const a=e.registry.getExtensionFor(t.desc,o);if(!a)continue;const c=VA(t.message,a),[d,s]=ki(a,c),u=$a(s,d.get(s),e);u!==void 0&&(l[a.jsonName]=u)}}return l}function $a(t,e,n){switch(t.fieldKind){case"scalar":return zi(t,e);case"message":return Mn(e,n);case"enum":return vr(t.enum,e,n.enumAsInteger);case"list":return RA(e,n);case"map":return IA(e,n)}}function IA(t,e){const n=t.field(),i={};switch(n.mapKind){case"scalar":for(const[l,r]of t)i[l]=zi(n,r);break;case"message":for(const[l,r]of t)i[l]=Mn(r,e);break;case"enum":for(const[l,r]of t)i[l]=vr(n.enum,r,e.enumAsInteger);break}return e.alwaysEmitImplicit||t.size>0?i:void 0}function RA(t,e){const n=t.field(),i=[];switch(n.listKind){case"scalar":for(const l of t)i.push(zi(n,l));break;case"enum":for(const l of t)i.push(vr(n.enum,l,e.enumAsInteger));break;case"message":for(const l of t)i.push(Mn(l,e));break}return e.alwaysEmitImplicit||i.length>0?i:void 0}function vr(t,e,n){var i;if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: expected number, got ${ve(e)}`);if(t.typeName=="google.protobuf.NullValue")return null;if(n)return e;const l=t.value[e];return(i=l==null?void 0:l.name)!==null&&i!==void 0?i:e}function zi(t,e){var n,i,l,r,o,a;switch(t.scalar){case Z.INT32:case Z.SFIXED32:case Z.SINT32:case Z.FIXED32:case Z.UINT32:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(n=xt(t,e))===null||n===void 0?void 0:n.message}`);return e;case Z.FLOAT:case Z.DOUBLE:if(typeof e!="number")throw new Error(`cannot encode ${t} to JSON: ${(i=xt(t,e))===null||i===void 0?void 0:i.message}`);return Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":e;case Z.STRING:if(typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(l=xt(t,e))===null||l===void 0?void 0:l.message}`);return e;case Z.BOOL:if(typeof e!="boolean")throw new Error(`cannot encode ${t} to JSON: ${(r=xt(t,e))===null||r===void 0?void 0:r.message}`);return e;case Z.UINT64:case Z.FIXED64:case Z.INT64:case Z.SFIXED64:case Z.SINT64:if(typeof e!="bigint"&&typeof e!="string")throw new Error(`cannot encode ${t} to JSON: ${(o=xt(t,e))===null||o===void 0?void 0:o.message}`);return e.toString();case Z.BYTES:if(e instanceof Uint8Array)return as(e);throw new Error(`cannot encode ${t} to JSON: ${(a=xt(t,e))===null||a===void 0?void 0:a.message}`)}}function EA(t,e){return e.useProtoFieldName?t.name:t.jsonName}function yA(t,e){if(t.desc.typeName.startsWith("google.protobuf."))switch(t.desc.typeName){case"google.protobuf.Any":return vA(t.message,e);case"google.protobuf.Timestamp":return WA(t.message);case"google.protobuf.Duration":return SA(t.message);case"google.protobuf.FieldMask":return CA(t.message);case"google.protobuf.Struct":return ys(t.message);case"google.protobuf.Value":return Sr(t.message);case"google.protobuf.ListValue":return vs(t.message);default:if(Kn(t.desc)){const n=t.desc.fields[0];return zi(n,t.get(n))}return}}function vA(t,e){if(t.typeUrl==="")return{};const{registry:n}=e;let i,l;if(n&&(i=dA(t,n),i&&(l=n.getMessage(i.$typeName))),!l||!i)throw new Error(`cannot encode message ${t.$typeName} to JSON: "${t.typeUrl}" is not in the type registry`);let r=Mn(ot(l,i),e);return(l.typeName.startsWith("google.protobuf.")||r===null||Array.isArray(r)||typeof r!="object")&&(r={value:r}),r["@type"]=t.typeUrl,r}function SA(t){if(Number(t.seconds)>315576e6||Number(t.seconds)<-315576e6)throw new Error(`cannot encode message ${t.$typeName} to JSON: value out of range`);let e=t.seconds.toString();if(t.nanos!==0){let n=Math.abs(t.nanos).toString();n="0".repeat(9-n.length)+n,n.substring(3)==="000000"?n=n.substring(0,3):n.substring(6)==="000"&&(n=n.substring(0,6)),e+="."+n,t.nanos<0&&Number(t.seconds)==0&&(e="-"+e)}return e+"s"}function CA(t){return t.paths.map(e=>{if(e.match(/_[0-9]?_/g)||e.match(/[A-Z]/g))throw new Error(`cannot encode message ${t.$typeName} to JSON: lowerCamelCase of path name "`+e+'" is irreversible');return Wn(e)}).join(",")}function ys(t){const e={};for(const[n,i]of Object.entries(t.fields))e[n]=Sr(i);return e}function Sr(t){switch(t.kind.case){case"nullValue":return null;case"numberValue":if(!Number.isFinite(t.kind.value))throw new Error(`${t.$typeName} cannot be NaN or Infinity`);return t.kind.value;case"boolValue":return t.kind.value;case"stringValue":return t.kind.value;case"structValue":return ys(t.kind.value);case"listValue":return vs(t.kind.value);default:throw new Error(`${t.$typeName} must have a value`)}}function vs(t){return t.values.map(Sr)}function WA(t){const e=Number(t.seconds)*1e3;if(eDate.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot encode message ${t.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(t.nanos<0)throw new Error(`cannot encode message ${t.$typeName} to JSON: nanos must not be negative`);let n="Z";if(t.nanos>0){const i=(t.nanos+1e9).toString().substring(1);i.substring(3)==="000000"?n="."+i.substring(0,3)+"Z":i.substring(6)==="000"?n="."+i.substring(0,6)+"Z":n="."+i+"Z"}return new Date(e).toISOString().replace(".000Z",n)}const qa={ignoreUnknownFields:!1};function BA(t){return t?Object.assign(Object.assign({},qa),t):qa}function NA(t,e,n){return Ss(t,kA(e,t.typeName),n)}function Ss(t,e,n){const i=ot(t);try{an(i,e,BA(n))}catch(l){throw gf(l)?new Error(`cannot decode ${l.field()} from JSON: ${l.message}`,{cause:l}):l}return i.message}function an(t,e,n){var i;if(zA(t,e,n))return;if(e==null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode ${t.desc} from JSON: ${ve(e)}`);const l=new Map,r=new Map;for(const o of t.desc.fields)r.set(o.name,o).set(o.jsonName,o);for(const[o,a]of Object.entries(e)){const c=r.get(o);if(c){if(c.oneof){if(a===null&&c.fieldKind=="scalar")continue;const d=l.get(c.oneof);if(d!==void 0)throw new qe(c.oneof,`oneof set multiple times by ${d.name} and ${c.name}`);l.set(c.oneof,c)}ec(t,c,a,n)}else{let d;if(o.startsWith("[")&&o.endsWith("]")&&(d=(i=n.registry)===null||i===void 0?void 0:i.getExtension(o.substring(1,o.length-1)))&&d.extendee.typeName===t.desc.typeName){const[s,u,h]=ki(d);ec(s,u,a,n),mA(t.message,d,h())}if(!d&&!n.ignoreUnknownFields)throw new Error(`cannot decode ${t.desc} from JSON: key "${o}" is unknown`)}}}function ec(t,e,n,i){switch(e.fieldKind){case"scalar":xA(t,e,n);break;case"enum":JA(t,e,n,i);break;case"message":UA(t,e,n,i);break;case"list":YA(t.get(e),n,i);break;case"map":FA(t.get(e),n,i);break}}function FA(t,e,n){if(e===null)return;const i=t.field();if(typeof e!="object"||Array.isArray(e))throw new qe(i,"expected object, got "+ve(e));for(const[l,r]of Object.entries(e)){if(r===null)throw new qe(i,"map value must not be null");let o;switch(i.mapKind){case"message":const c=ot(i.message);an(c,r,n),o=c;break;case"enum":if(o=Cr(i.enum,r,n.ignoreUnknownFields,!0),o===Qi)return;break;case"scalar":o=Ki(i,r,!0);break}const a=wA(i.mapKey,l);t.set(a,o)}}function YA(t,e,n){if(e===null)return;const i=t.field();if(!Array.isArray(e))throw new qe(i,"expected Array, got "+ve(e));for(const l of e){if(l===null)throw new qe(i,"list item must not be null");switch(i.listKind){case"message":const r=ot(i.message);an(r,l,n),t.add(r);break;case"enum":const o=Cr(i.enum,l,n.ignoreUnknownFields,!0);o!==Qi&&t.add(o);break;case"scalar":t.add(Ki(i,l,!0));break}}}function UA(t,e,n,i){if(n===null&&e.message.typeName!="google.protobuf.Value"){t.clear(e);return}const l=t.isSet(e)?t.get(e):ot(e.message);an(l,n,i),t.set(e,l)}function JA(t,e,n,i){const l=Cr(e.enum,n,i.ignoreUnknownFields,!1);l===Li?t.clear(e):l!==Qi&&t.set(e,l)}function xA(t,e,n){const i=Ki(e,n,!1);i===Li?t.clear(e):t.set(e,i)}const Qi=Symbol();function Cr(t,e,n,i){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:i?t.values[0].number:Li;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":const l=t.values.find(r=>r.name===e);if(l!==void 0)return l.number;if(n)return Qi;break}throw new Error(`cannot decode ${t} from JSON: ${ve(e)}`)}const Li=Symbol();function Ki(t,e,n){if(e===null)return n?Mt(t.scalar,!1):Li;switch(t.scalar){case Z.DOUBLE:case Z.FLOAT:if(e==="NaN")return NaN;if(e==="Infinity")return Number.POSITIVE_INFINITY;if(e==="-Infinity")return Number.NEGATIVE_INFINITY;if(typeof e=="number"){if(Number.isNaN(e))throw new qe(t,"unexpected NaN number");if(!Number.isFinite(e))throw new qe(t,"unexpected infinite number");break}if(typeof e=="string"){if(e===""||e.trim().length!==e.length)break;const i=Number(e);if(!Number.isFinite(i))break;return i}break;case Z.INT32:case Z.FIXED32:case Z.SFIXED32:case Z.SINT32:case Z.UINT32:return Cs(e);case Z.BYTES:if(typeof e=="string"){if(e==="")return new Uint8Array(0);try{return Ir(e)}catch(i){const l=i instanceof Error?i.message:String(i);throw new qe(t,l)}}break}return e}function wA(t,e){switch(t){case Z.BOOL:switch(e){case"true":return!0;case"false":return!1}return e;case Z.INT32:case Z.FIXED32:case Z.UINT32:case Z.SFIXED32:case Z.SINT32:return Cs(e);default:return e}}function Cs(t){if(typeof t=="string"){if(t===""||t.trim().length!==t.length)return t;const e=Number(t);return Number.isNaN(e)?t:e}return t}function kA(t,e){try{return JSON.parse(t)}catch(n){const i=n instanceof Error?n.message:String(n);throw new Error(`cannot decode message ${e} from JSON: ${i}`,{cause:n})}}function zA(t,e,n){if(!t.desc.typeName.startsWith("google.protobuf."))return!1;switch(t.desc.typeName){case"google.protobuf.Any":return QA(t.message,e,n),!0;case"google.protobuf.Timestamp":return LA(t.message,e),!0;case"google.protobuf.Duration":return KA(t.message,e),!0;case"google.protobuf.FieldMask":return TA(t.message,e),!0;case"google.protobuf.Struct":return Ws(t.message,e),!0;case"google.protobuf.Value":return Wr(t.message,e),!0;case"google.protobuf.ListValue":return Bs(t.message,e),!0;default:if(Kn(t.desc)){const i=t.desc.fields[0];return e===null?t.clear(i):t.set(i,Ki(i,e,!0)),!0}return!1}}function QA(t,e,n){var i;if(e===null||Array.isArray(e)||typeof e!="object")throw new Error(`cannot decode message ${t.$typeName} from JSON: expected object but got ${ve(e)}`);if(Object.keys(e).length==0)return;const l=e["@type"];if(typeof l!="string"||l=="")throw new Error(`cannot decode message ${t.$typeName} from JSON: "@type" is empty`);const r=l.includes("/")?l.substring(l.lastIndexOf("/")+1):l;if(!r.length)throw new Error(`cannot decode message ${t.$typeName} from JSON: "@type" is invalid`);const o=(i=n.registry)===null||i===void 0?void 0:i.getMessage(r);if(!o)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${l} is not in the type registry`);const a=ot(o);if(r.startsWith("google.protobuf.")&&Object.prototype.hasOwnProperty.call(e,"value")){const c=e.value;an(a,c,n)}else{const c=Object.assign({},e);delete c["@type"],an(a,c,n)}aA(a.desc,a.message,t)}function LA(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${ve(e)}`);const n=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.([0-9]{1,9}))?(?:Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!n)throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);const i=Date.parse(n[1]+"-"+n[2]+"-"+n[3]+"T"+n[4]+":"+n[5]+":"+n[6]+(n[8]?n[8]:"Z"));if(Number.isNaN(i))throw new Error(`cannot decode message ${t.$typeName} from JSON: invalid RFC 3339 string`);if(iDate.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot decode message ${t.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);t.seconds=de.parse(i/1e3),t.nanos=0,n[7]&&(t.nanos=parseInt("1"+n[7]+"0".repeat(9-n[7].length))-1e9)}function KA(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${ve(e)}`);const n=e.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(n===null)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${ve(e)}`);const i=Number(n[1]);if(i>315576e6||i<-315576e6)throw new Error(`cannot decode message ${t.$typeName} from JSON: ${ve(e)}`);if(t.seconds=de.parse(i),typeof n[2]!="string")return;const l=n[2]+"0".repeat(9-n[2].length);t.nanos=parseInt(l),(i<0||Object.is(i,-0))&&(t.nanos=-t.nanos)}function TA(t,e){if(typeof e!="string")throw new Error(`cannot decode message ${t.$typeName} from JSON: ${ve(e)}`);if(e==="")return;function n(i){if(i.includes("_"))throw new Error(`cannot decode message ${t.$typeName} from JSON: path names must be lowerCamelCase`);const l=i.replace(/[A-Z]/g,r=>"_"+r.toLowerCase());return l[0]==="_"?l.substring(1):l}t.paths=e.split(",").map(n)}function Ws(t,e){if(typeof e!="object"||e==null||Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${ve(e)}`);for(const[n,i]of Object.entries(e)){const l=st(Rs);Wr(l,i),t.fields[n]=l}}function Wr(t,e){switch(typeof e){case"number":t.kind={case:"numberValue",value:e};break;case"string":t.kind={case:"stringValue",value:e};break;case"boolean":t.kind={case:"boolValue",value:e};break;case"object":if(e===null)t.kind={case:"nullValue",value:xl.NULL_VALUE};else if(Array.isArray(e)){const n=st(bA);Bs(n,e),t.kind={case:"listValue",value:n}}else{const n=st(hA);Ws(n,e),t.kind={case:"structValue",value:n}}break;default:throw new Error(`cannot decode message ${t.$typeName} from JSON ${ve(e)}`)}return t}function Bs(t,e){if(!Array.isArray(e))throw new Error(`cannot decode message ${t.$typeName} from JSON ${ve(e)}`);for(const n of e){const i=st(Rs);Wr(i,n),t.values.push(i)}}function wl(t){const e=P[t];return typeof e!="string"?t.toString():e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase())}let li;function MA(t){if(!li){li={};for(const e of Object.values(P))typeof e!="string"&&(li[wl(e)]=e)}return li[t]}class se extends Error{constructor(e,n=P.Unknown,i,l,r){super(HA(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(i??{}),this.details=l??[],this.cause=r}static from(e,n=P.Unknown){return e instanceof se?e:e instanceof Error?e.name=="AbortError"||e.name=="TimeoutError"?new se(e.message,P.Canceled):new se(e.message,n,void 0,void 0,e):new se(String(e),n,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===se.prototype?!0:e.name==="ConnectError"&&"code"in e&&typeof e.code=="number"&&"metadata"in e&&"details"in e&&Array.isArray(e.details)&&"rawMessage"in e&&typeof e.rawMessage=="string"&&"cause"in e:!1}findDetails(e){const n=e.kind==="message"?{getMessage:l=>l===e.typeName?e:void 0}:e,i=[];for(const l of this.details){if("desc"in l){n.getMessage(l.desc.typeName)&&i.push(st(l.desc,l.value));continue}const r=n.getMessage(l.type);if(r)try{i.push(wi(r,l.value))}catch{}}return i}}function HA(t,e){return t.length?`[${wl(e)}] ${t}`:`[${wl(e)}]`}function DA(...t){const e=new Headers;for(const n of t)n.forEach((i,l)=>{e.append(l,i)});return e}function _A(t,e){const n={};for(const i of t.methods){const l=e(i);l!=null&&(n[i.localName]=l)}return n}const tc=1;function jA(t,e,n=!1){if(e>t){let i=`message size is larger than configured readMaxBytes ${t}`;throw n&&(i=`message size ${e} is larger than configured readMaxBytes ${t}`),new se(i,P.ResourceExhausted)}}function PA(t){return new OA(t)}class OA{constructor(e){this.readMaxBytes=e,this.header=new Uint8Array(5),this.headerView=new DataView(this.header.buffer),this.buf=[]}get byteLength(){return this.buf.reduce((e,n)=>e+n.byteLength,0)}decode(e){this.buf.push(e);const n=[];for(;;){let i=this.pop();if(!i)break;n.push(i)}return n}pop(){if(!(!this.env&&(this.env=this.head(),!this.env))&&this.cons(this.env.data)){const e=this.env;return this.env=void 0,e}}head(){if(!this.cons(this.header))return;const e=this.headerView.getUint8(0),n=this.headerView.getUint32(1);return jA(this.readMaxBytes,n,!0),{flags:e,data:new Uint8Array(n)}}cons(e){const n=e.byteLength;if(this.byteLengthn-i?(e.set(l.subarray(0,n-i),i),this.buf.unshift(l.subarray(n-i)),i+=n-i):(e.set(l,i),i+=l.byteLength)}return!0}}function $A(t){let e;const n=PA(4294967295);return new ReadableStream({start(){e=t.getReader()},async pull(i){let l=!1;for(;!l;){const r=await e.read();if(r.done)n.byteLength>0&&i.error(new se("protocol error: incomplete envelope",P.InvalidArgument)),i.close();else for(const o of n.decode(r.value))i.enqueue(o),l=!0}}})}function qA(t,e){const n=new Uint8Array(e.length+5);n.set(e,5);const i=new DataView(n.buffer,n.byteOffset,n.byteLength);return i.setUint8(0,t),i.setUint32(1,e.length),n}var e2=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(r){n[r]=t[r]&&function(o){return new Promise(function(a,c){o=t[r](o),l(a,c,o.done,o.value)})}}function l(r,o,a,c){Promise.resolve(c).then(function(d){r({value:d,done:a})},o)}},Fn=function(t){return this instanceof Fn?(this.v=t,this):new Fn(t)},t2=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n.apply(t,e||[]),l,r=[];return l=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),l[Symbol.asyncIterator]=function(){return this},l;function o(g){return function(b){return Promise.resolve(b).then(g,u)}}function a(g,b){i[g]&&(l[g]=function(m){return new Promise(function(f,p){r.push([g,m,f,p])>1||c(g,m)})},b&&(l[g]=b(l[g])))}function c(g,b){try{d(i[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof Fn?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}},n2=function(t){var e,n;return e={},i("next"),i("throw",function(l){throw l}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(l,r){e[l]=t[l]?function(o){return(n=!n)?{value:Fn(t[l](o)),done:!1}:r?r(o):o}:r}};function i2(t){return t2(this,arguments,function*(){yield Fn(yield*n2(e2(t)))})}var Ns=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(r){n[r]=t[r]&&function(o){return new Promise(function(a,c){o=t[r](o),l(a,c,o.done,o.value)})}}function l(r,o,a,c){Promise.resolve(c).then(function(d){r({value:d,done:a})},o)}},cn=function(t){return this instanceof cn?(this.v=t,this):new cn(t)},l2=function(t){var e,n;return e={},i("next"),i("throw",function(l){throw l}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(l,r){e[l]=t[l]?function(o){return(n=!n)?{value:cn(t[l](o)),done:!1}:r?r(o):o}:r}},r2=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n.apply(t,e||[]),l,r=[];return l=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),l[Symbol.asyncIterator]=function(){return this},l;function o(g){return function(b){return Promise.resolve(b).then(g,u)}}function a(g,b){i[g]&&(l[g]=function(m){return new Promise(function(f,p){r.push([g,m,f,p])>1||c(g,m)})},b&&(l[g]=b(l[g])))}function c(g,b){try{d(i[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof cn?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}};function K(t,e){return _A(t,n=>{switch(n.methodKind){case"unary":return o2(e,n);case"server_streaming":return a2(e,n);case"client_streaming":return c2(e,n);case"bidi_streaming":return d2(e,n);default:return null}})}function o2(t,e){return async(n,i)=>{var l,r;const o=await t.unary(e,i==null?void 0:i.signal,i==null?void 0:i.timeoutMs,i==null?void 0:i.headers,n,i==null?void 0:i.contextValues);return(l=i==null?void 0:i.onHeader)===null||l===void 0||l.call(i,o.header),(r=i==null?void 0:i.onTrailer)===null||r===void 0||r.call(i,o.trailer),o.message}}function a2(t,e){return(n,i)=>Fs(t.stream(e,i==null?void 0:i.signal,i==null?void 0:i.timeoutMs,i==null?void 0:i.headers,i2([n]),i==null?void 0:i.contextValues),i)}function c2(t,e){return async(n,i)=>{var l,r,o,a,c,d;const s=await t.stream(e,i==null?void 0:i.signal,i==null?void 0:i.timeoutMs,i==null?void 0:i.headers,n,i==null?void 0:i.contextValues);(c=i==null?void 0:i.onHeader)===null||c===void 0||c.call(i,s.header);let u,h=0;try{for(var g=!0,b=Ns(s.message),m;m=await b.next(),l=m.done,!l;g=!0)a=m.value,g=!1,u=a,h++}catch(f){r={error:f}}finally{try{!g&&!l&&(o=b.return)&&await o.call(b)}finally{if(r)throw r.error}}if(!u)throw new se("protocol error: missing response message",P.Unimplemented);if(h>1)throw new se("protocol error: received extra messages for client streaming method",P.Unimplemented);return(d=i==null?void 0:i.onTrailer)===null||d===void 0||d.call(i,s.trailer),u}}function d2(t,e){return(n,i)=>Fs(t.stream(e,i==null?void 0:i.signal,i==null?void 0:i.timeoutMs,i==null?void 0:i.headers,n,i==null?void 0:i.contextValues),i)}function Fs(t,e){const n=(function(){return r2(this,arguments,function*(){var i,l;const r=yield cn(t);(i=e==null?void 0:e.onHeader)===null||i===void 0||i.call(e,r.header),yield cn(yield*l2(Ns(r.message))),(l=e==null?void 0:e.onTrailer)===null||l===void 0||l.call(e,r.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function s2(...t){const e=new AbortController,n=t.filter(l=>l!==void 0).concat(e.signal);for(const l of n){if(l.aborted){i.apply(l);break}l.addEventListener("abort",i)}function i(){e.signal.aborted||e.abort(Ys(this));for(const l of n)l.removeEventListener("abort",i)}return e}function u2(t){const e=new AbortController,n=()=>{e.abort(new se("the operation timed out",P.DeadlineExceeded))};let i;return t!==void 0&&(t<=0?n():i=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(i)}}function Ys(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;const e=new Error("This operation was aborted");return e.name="AbortError",e}function nc(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}function ic(t,e){return t.toString().replace(/\/?$/,`/${e.parent.typeName}/${e.name}`)}function Us(t,e){return st(t,e)}function g2(t,e){function n(i){return i.done===!0?i:{done:i.done,value:Us(t,i.value)}}return{[Symbol.asyncIterator](){const i=e[Symbol.asyncIterator](),l={next:()=>i.next().then(n)};return i.throw!==void 0&&(l.throw=r=>i.throw(r).then(n)),i.return!==void 0&&(l.return=r=>i.return(r).then(n)),l}}}function Js(t,e){if(!e)return t;for(const n of e.concat().reverse())t=n(t);return t}function xs(t){var e;const n=Object.assign({},t);return(e=n.ignoreUnknownFields)!==null&&e!==void 0||(n.ignoreUnknownFields=!0),n}function lc(t,e,n,i){const l=e?rc(t.input,i):oc(t.input,n);return{parse:(e?rc(t.output,i):oc(t.output,n)).parse,serialize:l.serialize}}function rc(t,e){return{parse(n){try{return wi(t,n,e)}catch(i){const l=i instanceof Error?i.message:String(i);throw new se(`parse binary: ${l}`,P.Internal)}},serialize(n){try{return ps(t,n,e)}catch(i){const l=i instanceof Error?i.message:String(i);throw new se(`serialize binary: ${l}`,P.Internal)}}}}function oc(t,e){var n,i;const l=(n=e==null?void 0:e.textEncoder)!==null&&n!==void 0?n:new TextEncoder,r=(i=e==null?void 0:e.textDecoder)!==null&&i!==void 0?i:new TextDecoder,o=xs(e);return{parse(a){try{const c=r.decode(a);return NA(t,c,o)}catch(c){throw se.from(c,P.InvalidArgument)}},serialize(a){try{const c=XA(t,a,o);return l.encode(c)}catch(c){throw se.from(c,P.Internal)}}}}const h2=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i,b2="application/proto",V2="application/json",m2="application/connect+proto",f2="application/connect+json";function A2(t){const e=t==null?void 0:t.match(h2);if(!e)return;const n=!!e[1],i=!!e[3];return{stream:n,binary:i}}function ws(t,e,n){var i;if(e&&new Headers(e).forEach((a,c)=>n.metadata.append(c,a)),typeof t!="object"||t==null||Array.isArray(t))throw n;let l=n.code;"code"in t&&typeof t.code=="string"&&(l=(i=MA(t.code))!==null&&i!==void 0?i:l);const r=t.message;if(r!=null&&typeof r!="string")throw n;const o=new se(r??"",l,e);if("details"in t&&Array.isArray(t.details))for(const a of t.details){if(a===null||typeof a!="object"||Array.isArray(a)||typeof a.type!="string"||typeof a.value!="string")throw n;try{o.details.push({type:a.type,value:Ir(a.value),debug:a.debug})}catch{throw n}}return o}const ac=2;function p2(t){const e=new se("invalid end stream",P.Unknown);let n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||n==null||Array.isArray(n))throw e;const i=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(const[r,o]of Object.entries(n.metadata)){if(!Array.isArray(o)||o.some(a=>typeof a!="string"))throw e;for(const a of o)i.append(r,a)}}const l="error"in n&&n.error!=null?ws(n.error,i,e):void 0;return{metadata:i,error:l}}const Ci="Content-Type",Z2="Content-Length",cc="Content-Encoding",G2="Accept-Encoding",X2="Connect-Timeout-Ms",ks="Connect-Protocol-Version",I2="User-Agent";function R2(t){switch(t){case 400:return P.Internal;case 401:return P.Unauthenticated;case 403:return P.PermissionDenied;case 404:return P.Unimplemented;case 429:return P.Unavailable;case 502:return P.Unavailable;case 503:return P.Unavailable;case 504:return P.Unavailable;default:return P.Unknown}}function dc(t){const e=new Headers,n=new Headers;return t.forEach((i,l)=>{l.toLowerCase().startsWith("trailer-")?n.append(l.substring(8),i):e.append(l,i)}),[e,n]}const zs="1";function sc(t,e,n,i,l){const r=new Headers(i??{});return n!==void 0&&r.set(X2,`${n}`),r.set(Ci,t=="unary"?e?b2:V2:e?m2:f2),r.set(ks,zs),r.has(I2),r}function uc(t,e,n,i){const l=i.get(Ci),r=A2(l);if(n!==200){const a=new se(`HTTP ${n}`,R2(n),i);if(t=="unary"&&r&&!r.binary)return{isUnaryError:!0,unaryError:a};throw a}const o={binary:e,stream:t!=="unary"};if((r==null?void 0:r.binary)!==o.binary||r.stream!==o.stream)throw new se(`unsupported content type ${l}`,r===void 0?P.Unknown:P.Internal,i);return{isUnaryError:!1}}const gc="application/";function E2(t,e){return e?as(t,"url"):encodeURIComponent(new TextDecoder().decode(t))}function y2(t,e,n){let i=`?connect=v${zs}`;const l=t.header.get(Ci);(l==null?void 0:l.indexOf(gc))===0&&(i+="&encoding="+encodeURIComponent(l.slice(gc.length)));const r=t.header.get(cc);r!==null&&r!=="identity"&&(i+="&compression="+encodeURIComponent(r),n=!0),n&&(i+="&base64=1"),i+="&message="+E2(e,n);const o=t.url+i,a=new Headers(t.header);for(const c of[ks,Ci,Z2,cc,G2])a.delete(c);return Object.assign(Object.assign({},t),{requestMethod:"GET",url:o,header:a})}function v2(t){const e=Js(t.next,t.interceptors),[n,i,l]=Qs(t),r=Object.assign(Object.assign({},t.req),{message:Us(t.req.method.input,t.req.message),signal:n});return e(r).then(o=>(l(),o),i)}function S2(t){const e=Js(t.next,t.interceptors),[n,i,l]=Qs(t),r=Object.assign(Object.assign({},t.req),{message:g2(t.req.method.input,t.req.message),signal:n});let o=!1;return n.addEventListener("abort",function(){var a,c;const d=t.req.message[Symbol.asyncIterator]();o||(a=d.throw)===null||a===void 0||a.call(d,this.reason).catch(()=>{}),(c=d.return)===null||c===void 0||c.call(d).catch(()=>{})}),e(r).then(a=>Object.assign(Object.assign({},a),{message:{[Symbol.asyncIterator](){const c=a.message[Symbol.asyncIterator]();return{next(){return c.next().then(d=>(d.done==!0&&(o=!0,l()),d),i)}}}}}),i)}function Qs(t){const{signal:e,cleanup:n}=u2(t.timeoutMs),i=s2(t.signal,e);return[i.signal,function(r){const o=se.from(e.aborted?Ys(e):r);return i.abort(o),n(),Promise.reject(o)},function(){n(),i.abort()}]}function C2(){try{new Headers}catch{throw new Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var Yn=function(t){return this instanceof Yn?(this.v=t,this):new Yn(t)},W2=function(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n.apply(t,e||[]),l,r=[];return l=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),l[Symbol.asyncIterator]=function(){return this},l;function o(g){return function(b){return Promise.resolve(b).then(g,u)}}function a(g,b){i[g]&&(l[g]=function(m){return new Promise(function(f,p){r.push([g,m,f,p])>1||c(g,m)})},b&&(l[g]=b(l[g])))}function c(g,b){try{d(i[g](b))}catch(m){h(r[0][3],m)}}function d(g){g.value instanceof Yn?Promise.resolve(g.value.v).then(s,u):h(r[0][2],g)}function s(g){c("next",g)}function u(g){c("throw",g)}function h(g,b){g(b),r.shift(),r.length&&c(r[0][0],r[0][1])}};const hc={redirect:"error"};function B2(t){var e;C2();const n=(e=t.useBinaryFormat)!==null&&e!==void 0?e:!1;return{async unary(i,l,r,o,a,c){const{serialize:d,parse:s}=lc(i,n,t.jsonOptions,t.binaryOptions);return r=r===void 0?t.defaultTimeoutMs:r<=0?void 0:r,await v2({interceptors:t.interceptors,signal:l,timeoutMs:r,req:{stream:!1,service:i.parent,method:i,requestMethod:"POST",url:ic(t.baseUrl,i),header:sc(i.methodKind,n,r,o,!1),contextValues:c??nc(),message:a},next:async u=>{var h;const g=t.useHttpGet===!0&&i.idempotency===Jl.NO_SIDE_EFFECTS;let b=null;g?u=y2(u,d(u.message),n):b=d(u.message);const f=await((h=t.fetch)!==null&&h!==void 0?h:globalThis.fetch)(u.url,Object.assign(Object.assign({},hc),{method:u.requestMethod,headers:u.header,signal:u.signal,body:b})),{isUnaryError:p,unaryError:A}=uc(i.methodKind,n,f.status,f.headers);if(p)throw ws(await f.json(),DA(...dc(f.headers)),A);const[X,y]=dc(f.headers);return{stream:!1,service:i.parent,method:i,header:X,message:n?s(new Uint8Array(await f.arrayBuffer())):Ss(i.output,await f.json(),xs(t.jsonOptions)),trailer:y}}})},async stream(i,l,r,o,a,c){const{serialize:d,parse:s}=lc(i,n,t.jsonOptions,t.binaryOptions);function u(g,b,m,f){return W2(this,arguments,function*(){const A=$A(g).getReader();let X=!1;for(;;){const y=yield Yn(A.read());if(y.done)break;const{flags:I,data:S}=y.value;if((I&tc)===tc)throw new se("protocol error: received unsupported compressed output",P.Internal);if((I&ac)===ac){X=!0;const G=p2(S);if(G.error){const B=G.error;throw m.forEach((v,J)=>{B.metadata.append(J,v)}),B}G.metadata.forEach((B,v)=>b.set(v,B));continue}yield yield Yn(s(S))}if("throwIfAborted"in f&&f.throwIfAborted(),!X)throw"missing EndStreamResponse"})}async function h(g){if(i.methodKind!="server_streaming")throw"The fetch API does not support streaming request bodies";const b=await g[Symbol.asyncIterator]().next();if(b.done==!0)throw"missing request message";return qA(0,d(b.value))}return r=r===void 0?t.defaultTimeoutMs:r<=0?void 0:r,await S2({interceptors:t.interceptors,timeoutMs:r,signal:l,req:{stream:!0,service:i.parent,method:i,requestMethod:"POST",url:ic(t.baseUrl,i),header:sc(i.methodKind,n,r,o,!1),contextValues:c??nc(),message:a},next:async g=>{var b;const f=await((b=t.fetch)!==null&&b!==void 0?b:globalThis.fetch)(g.url,Object.assign(Object.assign({},hc),{method:g.requestMethod,headers:g.header,signal:g.signal,body:await h(g.message)}));if(uc(i.methodKind,n,f.status,f.headers),f.body===null)throw"missing response body";const p=new Headers;return Object.assign(Object.assign({},g),{header:f.headers,trailer:p,message:u(f.body,p,f.headers,g.signal)})}})}}}function M(t,e,...n){if(n.length>0)throw new Error;return t.services[e]}const Ls=z("ChxvcGVyYXRpb24vdjEvcGxheV9jYXJkLnByb3RvEgxvcGVyYXRpb24udjEiOAoVR2V0Q3VyUGxheUNhcmRSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSDgoGbG9jYWxlGAIgASgJIkwKFkdldEN1clBsYXlDYXJkUmVzcG9uc2USMgoOcGxheV9jYXJkX2luZm8YASABKAsyGi5vcGVyYXRpb24udjEuUGxheUNhcmRJbmZvIroDCgxQbGF5Q2FyZEluZm8SCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRINCgV0aXRsZRgDIAEoCRIMCgRkZXNjGAQgASgJEi4KC2FjdGlvbl90eXBlGAUgASgOMhkub3BlcmF0aW9uLnYxLkFDVElPTl9UWVBFEhIKCmV4dHJhX2RhdGEYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoGc3RhdHVzGAkgASgOMh4ub3BlcmF0aW9uLnYxLlBMQVlfQ0FSRF9TVEFUVVMSLQoIcGxhdGZvcm0YCiABKA4yGy5vcGVyYXRpb24udjEuUExBVEZPUk1fVFlQRRI0CgVpbWFnZRgLIAMoCzIlLm9wZXJhdGlvbi52MS5QbGF5Q2FyZEluZm8uSW1hZ2VFbnRyeRIMCgRJMThuGAwgASgJGiwKCkltYWdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASp2Cg1QTEFURk9STV9UWVBFEh0KGVBMQVRGT1JNX1RZUEVfVU5TUEVDSUZJRUQQABIVChFQTEFURk9STV9UWVBFX0FMTBABEhgKFFBMQVRGT1JNX1RZUEVfTU9CSUxFEAISFQoRUExBVEZPUk1fVFlQRV9XRUIQAypWCgtBQ1RJT05fVFlQRRIbChdBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEhUKEUFDVElPTl9UWVBFX1BPUFVQEAESEwoPQUNUSU9OX1RZUEVfVVJMEAIqZwoQUExBWV9DQVJEX1NUQVRVUxIgChxQTEFZX0NBUkRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTUExBWV9DQVJEX1NUQVRVU19PThABEhgKFFBMQVlfQ0FSRF9TVEFUVVNfT0ZGEAIyaQoIUGxheUNhcmQSXQoOR2V0Q3VyUGxheUNhcmQSIy5vcGVyYXRpb24udjEuR2V0Q3VyUGxheUNhcmRSZXF1ZXN0GiQub3BlcmF0aW9uLnYxLkdldEN1clBsYXlDYXJkUmVzcG9uc2UiAEK3AQoQY29tLm9wZXJhdGlvbi52MUINUGxheUNhcmRQcm90b1ABWkNnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvb3BlcmF0aW9uL3YxO29wZXJhdGlvbnYxogIDT1hYqgIMT3BlcmF0aW9uLlYxygIMT3BlcmF0aW9uXFYx4gIYT3BlcmF0aW9uXFYxXEdQQk1ldGFkYXRh6gINT3BlcmF0aW9uOjpWMWIGcHJvdG8z",[ee]),N2=M(Ls,0),F2=z("CiJvcGVyYXRpb24vdjEvcGxheV9jYXJkX2FkbWluLnByb3RvEgxvcGVyYXRpb24udjEi6gIKFUNyZWF0ZVBsYXlDYXJkUmVxdWVzdBIMCgRuYW1lGAEgASgJEg0KBXRpdGxlGAIgASgJEgwKBGRlc2MYAyABKAkSLgoLYWN0aW9uX3R5cGUYBCABKA4yGS5vcGVyYXRpb24udjEuQUNUSU9OX1RZUEUSEgoKZXh0cmFfZGF0YRgFIAEoCRIuCgZzdGF0dXMYBiABKA4yHi5vcGVyYXRpb24udjEuUExBWV9DQVJEX1NUQVRVUxItCghwbGF0Zm9ybRgIIAEoDjIbLm9wZXJhdGlvbi52MS5QTEFURk9STV9UWVBFEj0KBWltYWdlGAkgAygLMi4ub3BlcmF0aW9uLnYxLkNyZWF0ZVBsYXlDYXJkUmVxdWVzdC5JbWFnZUVudHJ5EhYKDnRyYW5zbGF0ZV9qc29uGAogASgJGiwKCkltYWdlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI2ChZDcmVhdGVQbGF5Q2FyZFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSCwoDbXNnGAIgASgJIoQEChVVcGRhdGVQbGF5Q2FyZFJlcXVlc3QSCgoCaWQYASABKAMSEQoEbmFtZRgCIAEoCUgAiAEBEhIKBXRpdGxlGAMgASgJSAGIAQESEQoEZGVzYxgEIAEoCUgCiAEBEjMKC2FjdGlvbl90eXBlGAUgASgOMhkub3BlcmF0aW9uLnYxLkFDVElPTl9UWVBFSAOIAQESFwoKZXh0cmFfZGF0YRgHIAEoCUgEiAEBEjMKBnN0YXR1cxgIIAEoDjIeLm9wZXJhdGlvbi52MS5QTEFZX0NBUkRfU1RBVFVTSAWIAQESMgoIcGxhdGZvcm0YCiABKA4yGy5vcGVyYXRpb24udjEuUExBVEZPUk1fVFlQRUgGiAEBEj0KBWltYWdlGAsgAygLMi4ub3BlcmF0aW9uLnYxLlVwZGF0ZVBsYXlDYXJkUmVxdWVzdC5JbWFnZUVudHJ5EhsKDnRyYW5zbGF0ZV9qc29uGAwgASgJSAeIAQEaLAoKSW1hZ2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgcKBV9uYW1lQggKBl90aXRsZUIHCgVfZGVzY0IOCgxfYWN0aW9uX3R5cGVCDQoLX2V4dHJhX2RhdGFCCQoHX3N0YXR1c0ILCglfcGxhdGZvcm1CEQoPX3RyYW5zbGF0ZV9qc29uIjYKFlVwZGF0ZVBsYXlDYXJkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBILCgNtc2cYAiABKAkiIwoVRGVsZXRlUGxheUNhcmRSZXF1ZXN0EgoKAmlkGAEgASgDIjYKFkRlbGV0ZVBsYXlDYXJkUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBILCgNtc2cYAiABKAki/gEKE0xpc3RQbGF5Q2FyZFJlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUSFAoHa2V5d29yZBgDIAEoCUgAiAEBEhMKBmxvY2FsZRgEIAEoCUgBiAEBEjIKCHBsYXRmb3JtGAUgASgOMhsub3BlcmF0aW9uLnYxLlBMQVRGT1JNX1RZUEVIAogBARIzCgthY3Rpb25fdHlwZRgGIAEoDjIZLm9wZXJhdGlvbi52MS5BQ1RJT05fVFlQRUgDiAEBQgoKCF9rZXl3b3JkQgkKB19sb2NhbGVCCwoJX3BsYXRmb3JtQg4KDF9hY3Rpb25fdHlwZSJzChRMaXN0UGxheUNhcmRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEgsKA21zZxgCIAEoCRIuCgpwbGF5X2NhcmRzGAMgAygLMhoub3BlcmF0aW9uLnYxLlBsYXlDYXJkSW5mbxINCgV0b3RhbBgEIAEoAzKFAwoNUGxheUNhcmRBZG1pbhJdCg5DcmVhdGVQbGF5Q2FyZBIjLm9wZXJhdGlvbi52MS5DcmVhdGVQbGF5Q2FyZFJlcXVlc3QaJC5vcGVyYXRpb24udjEuQ3JlYXRlUGxheUNhcmRSZXNwb25zZSIAEl0KDlVwZGF0ZVBsYXlDYXJkEiMub3BlcmF0aW9uLnYxLlVwZGF0ZVBsYXlDYXJkUmVxdWVzdBokLm9wZXJhdGlvbi52MS5VcGRhdGVQbGF5Q2FyZFJlc3BvbnNlIgASXQoORGVsZXRlUGxheUNhcmQSIy5vcGVyYXRpb24udjEuRGVsZXRlUGxheUNhcmRSZXF1ZXN0GiQub3BlcmF0aW9uLnYxLkRlbGV0ZVBsYXlDYXJkUmVzcG9uc2UiABJXCgxMaXN0UGxheUNhcmQSIS5vcGVyYXRpb24udjEuTGlzdFBsYXlDYXJkUmVxdWVzdBoiLm9wZXJhdGlvbi52MS5MaXN0UGxheUNhcmRSZXNwb25zZSIAQrwBChBjb20ub3BlcmF0aW9uLnYxQhJQbGF5Q2FyZEFkbWluUHJvdG9QAVpDZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L29wZXJhdGlvbi92MTtvcGVyYXRpb252MaICA09YWKoCDE9wZXJhdGlvbi5WMcoCDE9wZXJhdGlvblxWMeICGE9wZXJhdGlvblxWMVxHUEJNZXRhZGF0YeoCDU9wZXJhdGlvbjo6VjFiBnByb3RvMw",[ee,Ls]),Y2=M(F2,0),Ye=z("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI9CgpDb25zdHJhaW50EgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSJNChJNZXNzYWdlQ29uc3RyYWludHMSEAoIZGlzYWJsZWQYASABKAgSJQoDY2VsGAMgAygLMhguYnVmLnZhbGlkYXRlLkNvbnN0cmFpbnQiJAoQT25lb2ZDb25zdHJhaW50cxIQCghyZXF1aXJlZBgBIAEoCCLXCAoQRmllbGRDb25zdHJhaW50cxIlCgNjZWwYFyADKAsyGC5idWYudmFsaWRhdGUuQ29uc3RyYWludBIQCghyZXF1aXJlZBgZIAEoCBIkCgZpZ25vcmUYGyABKA4yFC5idWYudmFsaWRhdGUuSWdub3JlEikKBWZsb2F0GAEgASgLMhguYnVmLnZhbGlkYXRlLkZsb2F0UnVsZXNIABIrCgZkb3VibGUYAiABKAsyGS5idWYudmFsaWRhdGUuRG91YmxlUnVsZXNIABIpCgVpbnQzMhgDIAEoCzIYLmJ1Zi52YWxpZGF0ZS5JbnQzMlJ1bGVzSAASKQoFaW50NjQYBCABKAsyGC5idWYudmFsaWRhdGUuSW50NjRSdWxlc0gAEisKBnVpbnQzMhgFIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50MzJSdWxlc0gAEisKBnVpbnQ2NBgGIAEoCzIZLmJ1Zi52YWxpZGF0ZS5VSW50NjRSdWxlc0gAEisKBnNpbnQzMhgHIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50MzJSdWxlc0gAEisKBnNpbnQ2NBgIIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TSW50NjRSdWxlc0gAEi0KB2ZpeGVkMzIYCSABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQzMlJ1bGVzSAASLQoHZml4ZWQ2NBgKIAEoCzIaLmJ1Zi52YWxpZGF0ZS5GaXhlZDY0UnVsZXNIABIvCghzZml4ZWQzMhgLIAEoCzIbLmJ1Zi52YWxpZGF0ZS5TRml4ZWQzMlJ1bGVzSAASLwoIc2ZpeGVkNjQYDCABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkNjRSdWxlc0gAEicKBGJvb2wYDSABKAsyFy5idWYudmFsaWRhdGUuQm9vbFJ1bGVzSAASKwoGc3RyaW5nGA4gASgLMhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzSAASKQoFYnl0ZXMYDyABKAsyGC5idWYudmFsaWRhdGUuQnl0ZXNSdWxlc0gAEicKBGVudW0YECABKAsyFy5idWYudmFsaWRhdGUuRW51bVJ1bGVzSAASLwoIcmVwZWF0ZWQYEiABKAsyGy5idWYudmFsaWRhdGUuUmVwZWF0ZWRSdWxlc0gAEiUKA21hcBgTIAEoCzIWLmJ1Zi52YWxpZGF0ZS5NYXBSdWxlc0gAEiUKA2FueRgUIAEoCzIWLmJ1Zi52YWxpZGF0ZS5BbnlSdWxlc0gAEi8KCGR1cmF0aW9uGBUgASgLMhsuYnVmLnZhbGlkYXRlLkR1cmF0aW9uUnVsZXNIABIxCgl0aW1lc3RhbXAYFiABKAsyHC5idWYudmFsaWRhdGUuVGltZXN0YW1wUnVsZXNIABITCgdza2lwcGVkGBggASgIQgIYARIYCgxpZ25vcmVfZW1wdHkYGiABKAhCAhgBQgYKBHR5cGUiPgoVUHJlZGVmaW5lZENvbnN0cmFpbnRzEiUKA2NlbBgBIAMoCzIYLmJ1Zi52YWxpZGF0ZS5Db25zdHJhaW50IrUXCgpGbG9hdFJ1bGVzEmkKBWNvbnN0GAEgASgCQlrCSFcKVQoLZmxvYXQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSnwEKAmx0GAIgASgCQpABwkiMAQqJAQoIZmxvYXQubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASrwEKA2x0ZRgDIAEoAkKfAcJImwEKmAEKCWZsb2F0Lmx0ZRqKASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEu8HCgJndBgEIAEoAkLgB8JI3AcKjQEKCGZsb2F0Lmd0GoABIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKwwEKC2Zsb2F0Lmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKFWZsb2F0Lmd0X2x0X2V4Y2x1c2l2ZRqzAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCtMBCgxmbG9hdC5ndF9sdGUawgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrdAQoWZmxvYXQuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESuggKA2d0ZRgFIAEoAkKqCMJIpggKmwEKCWZsb2F0Lmd0ZRqNASFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrSAQoMZmxvYXQuZ3RlX2x0GsEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoWZmxvYXQuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4gEKDWZsb2F0Lmd0ZV9sdGUa0AFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCuwBChdmbG9hdC5ndGVfbHRlX2V4Y2x1c2l2ZRrQAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoAkJpwkhmCmQKCGZsb2F0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoAkJmwkhjCmEKDGZsb2F0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEnUKBmZpbml0ZRgIIAEoCEJlwkhiCmAKDGZsb2F0LmZpbml0ZRpQcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAndmFsdWUgbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSKwoHZXhhbXBsZRgJIAMoAkIawkgXChUKDWZsb2F0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIscXCgtEb3VibGVSdWxlcxJqCgVjb25zdBgBIAEoAUJbwkhYClYKDGRvdWJsZS5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKgAQoCbHQYAiABKAFCkQHCSI0BCooBCglkb3VibGUubHQafSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASsAEKA2x0ZRgDIAEoAUKgAcJInAEKmQEKCmRvdWJsZS5sdGUaigEhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlKT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL0BwoCZ3QYBCABKAFC5QfCSOEHCo4BCglkb3VibGUuZ3QagAEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwrEAQoMZG91YmxlLmd0X2x0GrMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKFmRvdWJsZS5ndF9sdF9leGNsdXNpdmUaswFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrUAQoNZG91YmxlLmd0X2x0ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCt4BChdkb3VibGUuZ3RfbHRlX2V4Y2x1c2l2ZRrCAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESvwgKA2d0ZRgFIAEoAUKvCMJIqwgKnAEKCmRvdWJsZS5ndGUajQEhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycK0wEKDWRvdWJsZS5ndGVfbHQawQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BChdkb3VibGUuZ3RlX2x0X2V4Y2x1c2l2ZRrBAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK4wEKDmRvdWJsZS5ndGVfbHRlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrtAQoYZG91YmxlLmd0ZV9sdGVfZXhjbHVzaXZlGtABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygBQmrCSGcKZQoJZG91YmxlLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoAUJnwkhkCmIKDWRvdWJsZS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJ2CgZmaW5pdGUYCCABKAhCZsJIYwphCg1kb3VibGUuZmluaXRlGlBydWxlcy5maW5pdGUgPyAodGhpcy5pc05hbigpIHx8IHRoaXMuaXNJbmYoKSA/ICd2YWx1ZSBtdXN0IGJlIGZpbml0ZScgOiAnJykgOiAnJxIsCgdleGFtcGxlGAkgAygBQhvCSBgKFgoOZG91YmxlLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIucUCgpJbnQzMlJ1bGVzEmkKBWNvbnN0GAEgASgFQlrCSFcKVQoLaW50MzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSigEKAmx0GAIgASgFQnzCSHkKdwoIaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnAEKA2x0ZRgDIAEoBUKMAcJIiAEKhQEKCWludDMyLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASlwcKAmd0GAQgASgFQogHwkiEBwp6CghpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKswEKC2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq7AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwwEKDGludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKywEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEuMHCgNndGUYBSABKAVC0wfCSM8HCogBCglpbnQzMi5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrCAQoMaW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsoBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrSAQoNaW50MzIuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwraAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdQoCaW4YBiADKAVCacJIZgpkCghpbnQzMi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ2CgZub3RfaW4YByADKAVCZsJIYwphCgxpbnQzMi5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIrCgdleGFtcGxlGAggAygFQhrCSBcKFQoNaW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5xQKCkludDY0UnVsZXMSaQoFY29uc3QYASABKANCWsJIVwpVCgtpbnQ2NC5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKKAQoCbHQYAiABKANCfMJIeQp3CghpbnQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKcAQoDbHRlGAMgASgDQowBwkiIAQqFAQoJaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKXBwoCZ3QYBCABKANCiAfCSIQHCnoKCGludDY0Lmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqzAQoLaW50NjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrsBChVpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrDAQoMaW50NjQuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrLAQoWaW50NjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES4wcKA2d0ZRgFIAEoA0LTB8JIzwcKiAEKCWludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsIBCgxpbnQ2NC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKygEKFmludDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtIBCg1pbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtoBChdpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ1CgJpbhgGIAMoA0JpwkhmCmQKCGludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgHIAMoA0JmwkhjCmEKDGludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiL4FAoLVUludDMyUnVsZXMSagoFY29uc3QYASABKA1CW8JIWApWCgx1aW50MzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSiwEKAmx0GAIgASgNQn3CSHoKeAoJdWludDMyLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKA1CjQHCSIkBCoYBCgp1aW50MzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKA1CjQfCSIkHCnsKCXVpbnQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHVpbnQzMi5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnVpbnQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNdWludDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3VpbnQzMi5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgNQtgHwkjUBwqJAQoKdWludDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg11aW50MzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChd1aW50MzIuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnVpbnQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChh1aW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdgoCaW4YBiADKA1CasJIZwplCgl1aW50MzIuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdwoGbm90X2luGAcgAygNQmfCSGQKYgoNdWludDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKA1CG8JIGAoWCg51aW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i+BQKC1VJbnQ2NFJ1bGVzEmoKBWNvbnN0GAEgASgEQlvCSFgKVgoMdWludDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEosBCgJsdBgCIAEoBEJ9wkh6CngKCXVpbnQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKdAQoDbHRlGAMgASgEQo0BwkiJAQqGAQoKdWludDY0Lmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASnAcKAmd0GAQgASgEQo0HwkiJBwp7Cgl1aW50NjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrQBCgx1aW50NjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrwBChZ1aW50NjQuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxAEKDXVpbnQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCswBChd1aW50NjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES6AcKA2d0ZRgFIAEoBELYB8JI1AcKiQEKCnVpbnQ2NC5ndGUaeyFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwrDAQoNdWludDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrLAQoXdWludDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtMBCg51aW50NjQuZ3RlX2x0ZRrAAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrbAQoYdWludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnYKAmluGAYgAygEQmrCSGcKZQoJdWludDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEncKBm5vdF9pbhgHIAMoBEJnwkhkCmIKDXVpbnQ2NC5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIvgUCgtTSW50MzJSdWxlcxJqCgVjb25zdBgBIAEoEUJbwkhYClYKDHNpbnQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKLAQoCbHQYAiABKBFCfcJIegp4CglzaW50MzIubHQaayFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASnQEKA2x0ZRgDIAEoEUKNAcJIiQEKhgEKCnNpbnQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEpwHCgJndBgEIAEoEUKNB8JIiQcKewoJc2ludDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq0AQoMc2ludDMyLmd0X2x0GqMBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq8AQoWc2ludDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsQBCg1zaW50MzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrMAQoXc2ludDMyLmd0X2x0ZV9leGNsdXNpdmUasAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEugHCgNndGUYBSABKBFC2AfCSNQHCokBCgpzaW50MzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwwEKDXNpbnQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKywEKF3NpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrTAQoOc2ludDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2wEKGHNpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ2CgJpbhgGIAMoEUJqwkhnCmUKCXNpbnQzMi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ3CgZub3RfaW4YByADKBFCZ8JIZApiCg1zaW50MzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiL4FAoLU0ludDY0UnVsZXMSagoFY29uc3QYASABKBJCW8JIWApWCgxzaW50NjQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSiwEKAmx0GAIgASgSQn3CSHoKeAoJc2ludDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp0BCgNsdGUYAyABKBJCjQHCSIkBCoYBCgpzaW50NjQubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKcBwoCZ3QYBCABKBJCjQfCSIkHCnsKCXNpbnQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtAEKDHNpbnQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvAEKFnNpbnQ2NC5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrEAQoNc2ludDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzAEKF3NpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLoBwoDZ3RlGAUgASgSQtgHwkjUBwqJAQoKc2ludDY0Lmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsMBCg1zaW50NjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCssBChdzaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK0wEKDnNpbnQ2NC5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtsBChhzaW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdgoCaW4YBiADKBJCasJIZwplCglzaW50NjQuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdwoGbm90X2luGAcgAygSQmfCSGQKYgoNc2ludDY0Lm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKBJCG8JIGAoWCg5zaW50NjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iiRUKDEZpeGVkMzJSdWxlcxJrCgVjb25zdBgBIAEoB0JcwkhZClcKDWZpeGVkMzIuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSjAEKAmx0GAIgASgHQn7CSHsKeQoKZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKeAQoDbHRlGAMgASgHQo4BwkiKAQqHAQoLZml4ZWQzMi5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqEHCgJndBgEIAEoB0KSB8JIjgcKfAoKZml4ZWQzMi5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDMyLmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDMyLmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7QcKA2d0ZRgFIAEoB0LdB8JI2QcKigEKC2ZpeGVkMzIuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxAEKDmZpeGVkMzIuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCswBChhmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtQBCg9maXhlZDMyLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3AEKGWZpeGVkMzIuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdwoCaW4YBiADKAdCa8JIaApmCgpmaXhlZDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEngKBm5vdF9pbhgHIAMoB0JowkhlCmMKDmZpeGVkMzIubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iiRUKDEZpeGVkNjRSdWxlcxJrCgVjb25zdBgBIAEoBkJcwkhZClcKDWZpeGVkNjQuY29uc3QaRnRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtydWxlcy5jb25zdF0pIDogJycSjAEKAmx0GAIgASgGQn7CSHsKeQoKZml4ZWQ2NC5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKeAQoDbHRlGAMgASgGQo4BwkiKAQqHAQoLZml4ZWQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqEHCgJndBgEIAEoBkKSB8JIjgcKfAoKZml4ZWQ2NC5ndBpuIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKtQEKDWZpeGVkNjQuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BChdmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsUBCg5maXhlZDY0Lmd0X2x0ZRqyAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKzQEKGGZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES7QcKA2d0ZRgFIAEoBkLdB8JI2QcKigEKC2ZpeGVkNjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxAEKDmZpeGVkNjQuZ3RlX2x0GrEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCswBChhmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtQBCg9maXhlZDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3AEKGWZpeGVkNjQuZ3RlX2x0ZV9leGNsdXNpdmUavgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESdwoCaW4YBiADKAZCa8JIaApmCgpmaXhlZDY0LmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEngKBm5vdF9pbhgHIAMoBkJowkhlCmMKDmZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4imhUKDVNGaXhlZDMyUnVsZXMSbAoFY29uc3QYASABKA9CXcJIWgpYCg5zZml4ZWQzMi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKNAQoCbHQYAiABKA9Cf8JIfAp6CgtzZml4ZWQzMi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKfAQoDbHRlGAMgASgPQo8BwkiLAQqIAQoMc2ZpeGVkMzIubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKmBwoCZ3QYBCABKA9ClwfCSJMHCn0KC3NmaXhlZDMyLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOc2ZpeGVkMzIuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPc2ZpeGVkMzIuZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES8gcKA2d0ZRgFIAEoD0LiB8JI3gcKiwEKDHNmaXhlZDMyLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9zZml4ZWQzMi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBzZml4ZWQzMi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ4CgJpbhgGIAMoD0JswkhpCmcKC3NmaXhlZDMyLmluGlghKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnkKBm5vdF9pbhgHIAMoD0JpwkhmCmQKD3NmaXhlZDMyLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEi4KB2V4YW1wbGUYCCADKA9CHcJIGgoYChBzZml4ZWQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiKaFQoNU0ZpeGVkNjRSdWxlcxJsCgVjb25zdBgBIAEoEEJdwkhaClgKDnNmaXhlZDY0LmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEo0BCgJsdBgCIAEoEEJ/wkh8CnoKC3NmaXhlZDY0Lmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEp8BCgNsdGUYAyABKBBCjwHCSIsBCogBCgxzZml4ZWQ2NC5sdGUaeCFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAndmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEqYHCgJndBgEIAEoEEKXB8JIkwcKfQoLc2ZpeGVkNjQuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrYBCg5zZml4ZWQ2NC5ndF9sdBqjAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKGHNmaXhlZDY0Lmd0X2x0X2V4Y2x1c2l2ZRqhAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsYBCg9zZml4ZWQ2NC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs4BChlzZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGrABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLyBwoDZ3RlGAUgASgQQuIHwkjeBwqLAQoMc2ZpeGVkNjQuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxQEKD3NmaXhlZDY0Lmd0ZV9sdBqxAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoZc2ZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqvAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycK1QEKEHNmaXhlZDY0Lmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3QEKGnNmaXhlZDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGr4BaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEngKAmluGAYgAygQQmzCSGkKZwoLc2ZpeGVkNjQuaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSeQoGbm90X2luGAcgAygQQmnCSGYKZAoPc2ZpeGVkNjQubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLgoHZXhhbXBsZRgIIAMoEEIdwkgaChgKEHNmaXhlZDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIqwBCglCb29sUnVsZXMSaAoFY29uc3QYASABKAhCWcJIVgpUCgpib29sLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEioKB2V4YW1wbGUYAiADKAhCGcJIFgoUCgxib29sLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAiLgNgoLU3RyaW5nUnVsZXMSbAoFY29uc3QYASABKAlCXcJIWgpYCgxzdHJpbmcuY29uc3QaSHRoaXMgIT0gcnVsZXMuY29uc3QgPyAndmFsdWUgbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxJ+CgNsZW4YEyABKARCccJIbgpsCgpzdHJpbmcubGVuGl51aW50KHRoaXMuc2l6ZSgpKSAhPSBydWxlcy5sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEpkBCgdtaW5fbGVuGAIgASgEQocBwkiDAQqAAQoOc3RyaW5nLm1pbl9sZW4abnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSBhdCBsZWFzdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1pbl9sZW5dKSA6ICcnEpcBCgdtYXhfbGVuGAMgASgEQoUBwkiBAQp/Cg5zdHJpbmcubWF4X2xlbhptdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5tYXhfbGVuXSkgOiAnJxKbAQoJbGVuX2J5dGVzGBQgASgEQocBwkiDAQqAAQoQc3RyaW5nLmxlbl9ieXRlcxpsdWludChieXRlcyh0aGlzKS5zaXplKCkpICE9IHJ1bGVzLmxlbl9ieXRlcyA/ICd2YWx1ZSBsZW5ndGggbXVzdCBiZSAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5sZW5fYnl0ZXNdKSA6ICcnEqMBCgltaW5fYnl0ZXMYBCABKARCjwHCSIsBCogBChBzdHJpbmcubWluX2J5dGVzGnR1aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgPCBydWxlcy5taW5fYnl0ZXMgPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2J5dGVzXSkgOiAnJxKiAQoJbWF4X2J5dGVzGAUgASgEQo4BwkiKAQqHAQoQc3RyaW5nLm1heF9ieXRlcxpzdWludChieXRlcyh0aGlzKS5zaXplKCkpID4gcnVsZXMubWF4X2J5dGVzID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKNAQoHcGF0dGVybhgGIAEoCUJ8wkh5CncKDnN0cmluZy5wYXR0ZXJuGmUhdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIGRvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxKEAQoGcHJlZml4GAcgASgJQnTCSHEKbwoNc3RyaW5nLnByZWZpeBpeIXRoaXMuc3RhcnRzV2l0aChydWxlcy5wcmVmaXgpID8gJ3ZhbHVlIGRvZXMgbm90IGhhdmUgcHJlZml4IGAlc2AnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxKCAQoGc3VmZml4GAggASgJQnLCSG8KbQoNc3RyaW5nLnN1ZmZpeBpcIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCBgJXNgJy5mb3JtYXQoW3J1bGVzLnN1ZmZpeF0pIDogJycSkAEKCGNvbnRhaW5zGAkgASgJQn7CSHsKeQoPc3RyaW5nLmNvbnRhaW5zGmYhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiBzdWJzdHJpbmcgYCVzYCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSmAEKDG5vdF9jb250YWlucxgXIAEoCUKBAcJIfgp8ChNzdHJpbmcubm90X2NvbnRhaW5zGmV0aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAndmFsdWUgY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxJ2CgJpbhgKIAMoCUJqwkhnCmUKCXN0cmluZy5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxJ3CgZub3RfaW4YCyADKAlCZ8JIZApiCg1zdHJpbmcubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycS3wEKBWVtYWlsGAwgASgIQs0BwkjJAQphCgxzdHJpbmcuZW1haWwSI3ZhbHVlIG11c3QgYmUgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGiwhcnVsZXMuZW1haWwgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzRW1haWwoKQpkChJzdHJpbmcuZW1haWxfZW1wdHkSMnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzGhohcnVsZXMuZW1haWwgfHwgdGhpcyAhPSAnJ0gAEucBCghob3N0bmFtZRgNIAEoCELSAcJIzgEKZQoPc3RyaW5nLmhvc3RuYW1lEh52YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUaMiFydWxlcy5ob3N0bmFtZSB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpCmUKFXN0cmluZy5ob3N0bmFtZV9lbXB0eRItdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3RuYW1lGh0hcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyAhPSAnJ0gAEscBCgJpcBgOIAEoCEK4AcJItAEKVQoJc3RyaW5nLmlwEiB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxomIXJ1bGVzLmlwIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKCkKWwoPc3RyaW5nLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxoXIXJ1bGVzLmlwIHx8IHRoaXMgIT0gJydIABLWAQoEaXB2NBgPIAEoCELFAcJIwQEKXAoLc3RyaW5nLmlwdjQSInZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaKSFydWxlcy5pcHY0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwKDQpCmEKEXN0cmluZy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGhkhcnVsZXMuaXB2NCB8fCB0aGlzICE9ICcnSAAS1gEKBGlwdjYYECABKAhCxQHCSMEBClwKC3N0cmluZy5pcHY2EiJ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NiBhZGRyZXNzGikhcnVsZXMuaXB2NiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg2KQphChFzdHJpbmcuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxoZIXJ1bGVzLmlwdjYgfHwgdGhpcyAhPSAnJ0gAEr8BCgN1cmkYESABKAhCrwHCSKsBClEKCnN0cmluZy51cmkSGXZhbHVlIG11c3QgYmUgYSB2YWxpZCBVUkkaKCFydWxlcy51cmkgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzVXJpKCkKVgoQc3RyaW5nLnVyaV9lbXB0eRIodmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVSSRoYIXJ1bGVzLnVyaSB8fCB0aGlzICE9ICcnSAASZgoHdXJpX3JlZhgSIAEoCEJTwkhQCk4KDnN0cmluZy51cmlfcmVmEhl2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgVVJJGiEhcnVsZXMudXJpX3JlZiB8fCB0aGlzLmlzVXJpUmVmKClIABKQAgoHYWRkcmVzcxgVIAEoCEL8AcJI+AEKgQEKDnN0cmluZy5hZGRyZXNzEi12YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaQCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RuYW1lKCkgfHwgdGhpcy5pc0lwKCkKcgoUc3RyaW5nLmFkZHJlc3NfZW1wdHkSPHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZSwgb3IgaXAgYWRkcmVzcxocIXJ1bGVzLmFkZHJlc3MgfHwgdGhpcyAhPSAnJ0gAEpgCCgR1dWlkGBYgASgIQocCwkiDAgqlAQoLc3RyaW5nLnV1aWQSGnZhbHVlIG11c3QgYmUgYSB2YWxpZCBVVUlEGnohcnVsZXMudXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezh9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSQnKQpZChFzdHJpbmcudXVpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVVSUQaGSFydWxlcy51dWlkIHx8IHRoaXMgIT0gJydIABLwAQoFdHV1aWQYISABKAhC3gHCSNoBCnMKDHN0cmluZy50dXVpZBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIHRyaW1tZWQgVVVJRBo/IXJ1bGVzLnR1dWlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtOWEtZkEtRl17MzJ9JCcpCmMKEnN0cmluZy50dXVpZF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIHRyaW1tZWQgVVVJRBoaIXJ1bGVzLnR1dWlkIHx8IHRoaXMgIT0gJydIABKWAgoRaXBfd2l0aF9wcmVmaXhsZW4YGiABKAhC+AHCSPQBCngKGHN0cmluZy5pcF93aXRoX3ByZWZpeGxlbhIfdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo7IXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KCkKeAoec3RyaW5nLmlwX3dpdGhfcHJlZml4bGVuX2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4GiYhcnVsZXMuaXBfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEs8CChNpcHY0X3dpdGhfcHJlZml4bGVuGBsgASgIQq8CwkirAgqTAQoac3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW4SNXZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0KQqSAQogc3RyaW5nLmlwdjRfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2NF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAASzwIKE2lwdjZfd2l0aF9wcmVmaXhsZW4YHCABKAhCrwLCSKsCCpMBChpzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbhI1dmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaPiFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYpCpIBCiBzdHJpbmcuaXB2Nl93aXRoX3ByZWZpeGxlbl9lbXB0eRJEdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcyB3aXRoIHByZWZpeCBsZW5ndGgaKCFydWxlcy5pcHY2X3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLyAQoJaXBfcHJlZml4GB0gASgIQtwBwkjYAQpsChBzdHJpbmcuaXBfcHJlZml4Eh92YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVAgcHJlZml4GjchcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KHRydWUpCmgKFnN0cmluZy5pcF9wcmVmaXhfZW1wdHkSLnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUCBwcmVmaXgaHiFydWxlcy5pcF9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEoMCCgtpcHY0X3ByZWZpeBgeIAEoCELrAcJI5wEKdQoSc3RyaW5nLmlwdjRfcHJlZml4EiF2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSVB2NCBwcmVmaXgaPCFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg0LCB0cnVlKQpuChhzdHJpbmcuaXB2NF9wcmVmaXhfZW1wdHkSMHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IHByZWZpeBogIXJ1bGVzLmlwdjRfcHJlZml4IHx8IHRoaXMgIT0gJydIABKDAgoLaXB2Nl9wcmVmaXgYHyABKAhC6wHCSOcBCnUKEnN0cmluZy5pcHY2X3ByZWZpeBIhdmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgcHJlZml4GjwhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNiwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjZfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBwcmVmaXgaICFydWxlcy5pcHY2X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAStQIKDWhvc3RfYW5kX3BvcnQYICABKAhCmwLCSJcCCpkBChRzdHJpbmcuaG9zdF9hbmRfcG9ydBJBdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGhvc3QgKGhvc3RuYW1lIG9yIElQIGFkZHJlc3MpIGFuZCBwb3J0IHBhaXIaPiFydWxlcy5ob3N0X2FuZF9wb3J0IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0hvc3RBbmRQb3J0KHRydWUpCnkKGnN0cmluZy5ob3N0X2FuZF9wb3J0X2VtcHR5Ejd2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdCBhbmQgcG9ydCBwYWlyGiIhcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzICE9ICcnSAASqAUKEHdlbGxfa25vd25fcmVnZXgYGCABKA4yGC5idWYudmFsaWRhdGUuS25vd25SZWdleELxBMJI7QQK8AEKI3N0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lEiZ2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRqgAXJ1bGVzLndlbGxfa25vd25fcmVnZXggIT0gMSB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXjo/WzAtOWEtekEtWiEjJCUmXCcqKy0uXl98flx4NjBdKyQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSskJykKjQEKKXN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl9uYW1lX2VtcHR5EjV2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSFRUUCBoZWFkZXIgbmFtZRopcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgIT0gJycK5wEKJHN0cmluZy53ZWxsX2tub3duX3JlZ2V4LmhlYWRlcl92YWx1ZRIndmFsdWUgbXVzdCBiZSBhIHZhbGlkIEhUVFAgaGVhZGVyIHZhbHVlGpUBcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAyIHx8IHRoaXMubWF0Y2hlcyghaGFzKHJ1bGVzLnN0cmljdCkgfHwgcnVsZXMuc3RyaWN0ID8nXlteXHUwMDAwLVx1MDAwOFx1MDAwQS1cdTAwMUZcdTAwN0ZdKiQnIDonXlteXHUwMDAwXHUwMDBBXHUwMDBEXSokJylIABIOCgZzdHJpY3QYGSABKAgSLAoHZXhhbXBsZRgiIAMoCUIbwkgYChYKDnN0cmluZy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biK/EAoKQnl0ZXNSdWxlcxJmCgVjb25zdBgBIAEoDEJXwkhUClIKC2J5dGVzLmNvbnN0GkN0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgYmUgJXgnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEngKA2xlbhgNIAEoBEJrwkhoCmYKCWJ5dGVzLmxlbhpZdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ3ZhbHVlIGxlbmd0aCBtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSkAEKB21pbl9sZW4YAiABKARCf8JIfAp6Cg1ieXRlcy5taW5fbGVuGml1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAndmFsdWUgbGVuZ3RoIG11c3QgYmUgYXQgbGVhc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg1ieXRlcy5tYXhfbGVuGmF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9sZW4gPyAndmFsdWUgbXVzdCBiZSBhdCBtb3N0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEpABCgdwYXR0ZXJuGAQgASgJQn/CSHwKegoNYnl0ZXMucGF0dGVybhppIXN0cmluZyh0aGlzKS5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ3ZhbHVlIG11c3QgbWF0Y2ggcmVnZXggcGF0dGVybiBgJXNgJy5mb3JtYXQoW3J1bGVzLnBhdHRlcm5dKSA6ICcnEoEBCgZwcmVmaXgYBSABKAxCccJIbgpsCgxieXRlcy5wcmVmaXgaXCF0aGlzLnN0YXJ0c1dpdGgocnVsZXMucHJlZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHByZWZpeCAleCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEn8KBnN1ZmZpeBgGIAEoDEJvwkhsCmoKDGJ5dGVzLnN1ZmZpeBpaIXRoaXMuZW5kc1dpdGgocnVsZXMuc3VmZml4KSA/ICd2YWx1ZSBkb2VzIG5vdCBoYXZlIHN1ZmZpeCAleCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEoMBCghjb250YWlucxgHIAEoDEJxwkhuCmwKDmJ5dGVzLmNvbnRhaW5zGlohdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAndmFsdWUgZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSlwEKAmluGAggAygMQooBwkiGAQqDAQoIYnl0ZXMuaW4ad2R5bihydWxlcylbJ2luJ10uc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZHluKHJ1bGVzKVsnaW4nXSkgPyAndmFsdWUgbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2R5bihydWxlcylbJ2luJ11dKSA6ICcnEnYKBm5vdF9pbhgJIAMoDEJmwkhjCmEKDGJ5dGVzLm5vdF9pbhpRdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAndmFsdWUgbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEusBCgJpcBgKIAEoCELcAcJI2AEKdAoIYnl0ZXMuaXASIHZhbHVlIG11c3QgYmUgYSB2YWxpZCBJUCBhZGRyZXNzGkYhcnVsZXMuaXAgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSA0IHx8IHRoaXMuc2l6ZSgpID09IDE2CmAKDmJ5dGVzLmlwX2VtcHR5Ei92YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgYWRkcmVzcxodIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpICE9IDBIABLkAQoEaXB2NBgLIAEoCELTAcJIzwEKZQoKYnl0ZXMuaXB2NBIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjQgYWRkcmVzcxozIXJ1bGVzLmlwdjQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSA0CmYKEGJ5dGVzLmlwdjRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY0IGFkZHJlc3MaHyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpICE9IDBIABLlAQoEaXB2NhgMIAEoCELUAcJI0AEKZgoKYnl0ZXMuaXB2NhIidmFsdWUgbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcxo0IXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpmChBieXRlcy5pcHY2X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NiBhZGRyZXNzGh8hcnVsZXMuaXB2NiB8fCB0aGlzLnNpemUoKSAhPSAwSAASKwoHZXhhbXBsZRgOIAMoDEIawkgXChUKDWJ5dGVzLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIq8DCglFbnVtUnVsZXMSaAoFY29uc3QYASABKAVCWcJIVgpUCgplbnVtLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEhQKDGRlZmluZWRfb25seRgCIAEoCBJ0CgJpbhgDIAMoBUJowkhlCmMKB2VudW0uaW4aWCEodGhpcyBpbiBkeW4ocnVsZXMpWydpbiddKSA/ICd2YWx1ZSBtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZHluKHJ1bGVzKVsnaW4nXV0pIDogJycSdQoGbm90X2luGAQgAygFQmXCSGIKYAoLZW51bS5ub3RfaW4aUXRoaXMgaW4gcnVsZXMubm90X2luID8gJ3ZhbHVlIG11c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIqCgdleGFtcGxlGAUgAygFQhnCSBYKFAoMZW51bS5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIigQQKDVJlcGVhdGVkUnVsZXMSngEKCW1pbl9pdGVtcxgBIAEoBEKKAcJIhgEKgwEKEnJlcGVhdGVkLm1pbl9pdGVtcxptdWludCh0aGlzLnNpemUoKSkgPCBydWxlcy5taW5faXRlbXMgPyAndmFsdWUgbXVzdCBjb250YWluIGF0IGxlYXN0ICVkIGl0ZW0ocyknLmZvcm1hdChbcnVsZXMubWluX2l0ZW1zXSkgOiAnJxKiAQoJbWF4X2l0ZW1zGAIgASgEQo4BwkiKAQqHAQoScmVwZWF0ZWQubWF4X2l0ZW1zGnF1aW50KHRoaXMuc2l6ZSgpKSA+IHJ1bGVzLm1heF9pdGVtcyA/ICd2YWx1ZSBtdXN0IGNvbnRhaW4gbm8gbW9yZSB0aGFuICVzIGl0ZW0ocyknLmZvcm1hdChbcnVsZXMubWF4X2l0ZW1zXSkgOiAnJxJwCgZ1bmlxdWUYAyABKAhCYMJIXQpbCg9yZXBlYXRlZC51bmlxdWUSKHJlcGVhdGVkIHZhbHVlIG11c3QgY29udGFpbiB1bmlxdWUgaXRlbXMaHiFydWxlcy51bmlxdWUgfHwgdGhpcy51bmlxdWUoKRItCgVpdGVtcxgEIAEoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZENvbnN0cmFpbnRzKgkI6AcQgICAgAIilgMKCE1hcFJ1bGVzEo8BCgltaW5fcGFpcnMYASABKARCfMJIeQp3Cg1tYXAubWluX3BhaXJzGmZ1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9wYWlycyA/ICdtYXAgbXVzdCBiZSBhdCBsZWFzdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1pbl9wYWlyc10pIDogJycSjgEKCW1heF9wYWlycxgCIAEoBEJ7wkh4CnYKDW1hcC5tYXhfcGFpcnMaZXVpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IG1vc3QgJWQgZW50cmllcycuZm9ybWF0KFtydWxlcy5tYXhfcGFpcnNdKSA6ICcnEiwKBGtleXMYBCABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50cxIuCgZ2YWx1ZXMYBSABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50cyoJCOgHEICAgIACIiYKCEFueVJ1bGVzEgoKAmluGAIgAygJEg4KBm5vdF9pbhgDIAMoCSL1FgoNRHVyYXRpb25SdWxlcxKHAQoFY29uc3QYAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CXcJIWgpYCg5kdXJhdGlvbi5jb25zdBpGdGhpcyAhPSBydWxlcy5jb25zdCA/ICd2YWx1ZSBtdXN0IGVxdWFsICVzJy5mb3JtYXQoW3J1bGVzLmNvbnN0XSkgOiAnJxKoAQoCbHQYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25Cf8JIfAp6CgtkdXJhdGlvbi5sdBprIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABK6AQoDbHRlGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQo8BwkiLAQqIAQoMZHVyYXRpb24ubHRlGnghaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABLBBwoCZ3QYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25ClwfCSJMHCn0KC2R1cmF0aW9uLmd0Gm4haGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq2AQoOZHVyYXRpb24uZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BChhkdXJhdGlvbi5ndF9sdF9leGNsdXNpdmUaoQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrGAQoPZHVyYXRpb24uZ3RfbHRlGrIBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrOAQoZZHVyYXRpb24uZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESjQgKA2d0ZRgGIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkLiB8JI3gcKiwEKDGR1cmF0aW9uLmd0ZRp7IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCsUBCg9kdXJhdGlvbi5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKGWR1cmF0aW9uLmd0ZV9sdF9leGNsdXNpdmUarwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtUBChBkdXJhdGlvbi5ndGVfbHRlGsABaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCt0BChpkdXJhdGlvbi5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARKTAQoCaW4YByADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CbMJIaQpnCgtkdXJhdGlvbi5pbhpYISh0aGlzIGluIGR5bihydWxlcylbJ2luJ10pID8gJ3ZhbHVlIG11c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtkeW4ocnVsZXMpWydpbiddXSkgOiAnJxKUAQoGbm90X2luGAggAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQmnCSGYKZAoPZHVyYXRpb24ubm90X2luGlF0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICd2YWx1ZSBtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSSQoHZXhhbXBsZRgJIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIdwkgaChgKEGR1cmF0aW9uLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIvgXCg5UaW1lc3RhbXBSdWxlcxKJAQoFY29uc3QYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQl7CSFsKWQoPdGltZXN0YW1wLmNvbnN0GkZ0aGlzICE9IHJ1bGVzLmNvbnN0ID8gJ3ZhbHVlIG11c3QgZXF1YWwgJXMnLmZvcm1hdChbcnVsZXMuY29uc3RdKSA6ICcnEqsBCgJsdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCgAHCSH0KewoMdGltZXN0YW1wLmx0GmshaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ3ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErwBCgNsdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQpABwkiMAQqJAQoNdGltZXN0YW1wLmx0ZRp4IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASbAoGbHRfbm93GAcgASgIQlrCSFcKVQoQdGltZXN0YW1wLmx0X25vdxpBKHJ1bGVzLmx0X25vdyAmJiB0aGlzID4gbm93KSA/ICd2YWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBub3cnIDogJydIABLHBwoCZ3QYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQpwHwkiYBwp+Cgx0aW1lc3RhbXAuZ3QabiFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrcBCg90aW1lc3RhbXAuZ3RfbHQaowFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr8BChl0aW1lc3RhbXAuZ3RfbHRfZXhjbHVzaXZlGqEBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKxwEKEHRpbWVzdGFtcC5ndF9sdGUasgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICd2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCs8BChp0aW1lc3RhbXAuZ3RfbHRlX2V4Y2x1c2l2ZRqwAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESkwgKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBC5wfCSOMHCowBCg10aW1lc3RhbXAuZ3RlGnshaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKxgEKEHRpbWVzdGFtcC5ndGVfbHQasQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKGnRpbWVzdGFtcC5ndGVfbHRfZXhjbHVzaXZlGq8BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrWAQoRdGltZXN0YW1wLmd0ZV9sdGUawAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAndmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK3gEKG3RpbWVzdGFtcC5ndGVfbHRlX2V4Y2x1c2l2ZRq+AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJvCgZndF9ub3cYCCABKAhCXcJIWgpYChB0aW1lc3RhbXAuZ3Rfbm93GkQocnVsZXMuZ3Rfbm93ICYmIHRoaXMgPCBub3cpID8gJ3ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG5vdycgOiAnJ0gBErgBCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CjAHCSIgBCoUBChB0aW1lc3RhbXAud2l0aGluGnF0aGlzIDwgbm93LXJ1bGVzLndpdGhpbiB8fCB0aGlzID4gbm93K3J1bGVzLndpdGhpbiA/ICd2YWx1ZSBtdXN0IGJlIHdpdGhpbiAlcyBvZiBub3cnLmZvcm1hdChbcnVsZXMud2l0aGluXSkgOiAnJxJLCgdleGFtcGxlGAogAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIewkgbChkKEXRpbWVzdGFtcC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiI5CgpWaW9sYXRpb25zEisKCnZpb2xhdGlvbnMYASADKAsyFy5idWYudmFsaWRhdGUuVmlvbGF0aW9uIqsBCglWaW9sYXRpb24SJgoFZmllbGQYBSABKAsyFy5idWYudmFsaWRhdGUuRmllbGRQYXRoEiUKBHJ1bGUYBiABKAsyFy5idWYudmFsaWRhdGUuRmllbGRQYXRoEhYKCmZpZWxkX3BhdGgYASABKAlCAhgBEhUKDWNvbnN0cmFpbnRfaWQYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIPCgdmb3Jfa2V5GAQgASgIIj0KCUZpZWxkUGF0aBIwCghlbGVtZW50cxgBIAMoCzIeLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGhFbGVtZW50IukCChBGaWVsZFBhdGhFbGVtZW50EhQKDGZpZWxkX251bWJlchgBIAEoBRISCgpmaWVsZF9uYW1lGAIgASgJEj4KCmZpZWxkX3R5cGUYAyABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRI8CghrZXlfdHlwZRgEIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEj4KCnZhbHVlX3R5cGUYBSABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZRIPCgVpbmRleBgGIAEoBEgAEhIKCGJvb2xfa2V5GAcgASgISAASEQoHaW50X2tleRgIIAEoA0gAEhIKCHVpbnRfa2V5GAkgASgESAASFAoKc3RyaW5nX2tleRgKIAEoCUgAQgsKCXN1YnNjcmlwdCqdAQoGSWdub3JlEhYKEklHTk9SRV9VTlNQRUNJRklFRBAAEhkKFUlHTk9SRV9JRl9VTlBPUFVMQVRFRBABEhsKF0lHTk9SRV9JRl9ERUZBVUxUX1ZBTFVFEAISEQoNSUdOT1JFX0FMV0FZUxADEhQKDElHTk9SRV9FTVBUWRABGgIIARIWCg5JR05PUkVfREVGQVVMVBACGgIIARoCEAEqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlwKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMiAuYnVmLnZhbGlkYXRlLk1lc3NhZ2VDb25zdHJhaW50c1IHbWVzc2FnZTpUCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMh4uYnVmLnZhbGlkYXRlLk9uZW9mQ29uc3RyYWludHNSBW9uZW9mOlQKBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyHi5idWYudmFsaWRhdGUuRmllbGRDb25zdHJhaW50c1IFZmllbGQ6YwoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMiMuYnVmLnZhbGlkYXRlLlByZWRlZmluZWRDb25zdHJhaW50c1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU",[Vs,uA,ee]),U2=z("CippMThuX3RlbXBsYXRlL3YxL2kxOG5fdGVtcGxhdGVfYWRtaW4ucHJvdG8SEGkxOG5fdGVtcGxhdGUudjEiHQobR2V0VGVtcGxhdGVGaWVsZEluZm9SZXF1ZXN0IlcKHEdldFRlbXBsYXRlRmllbGRJbmZvUmVzcG9uc2USNwoOdGFza190ZW1wbGF0ZXMYASADKAsyHy5pMThuX3RlbXBsYXRlLnYxLlRhc2tUZW1wbGF0ZXMicAoNVGFza1RlbXBsYXRlcxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjAKC2ZpZWxkX2luZm9zGAQgAygLMhsuaTE4bl90ZW1wbGF0ZS52MS5GaWVsZEluZm8icwoJRmllbGRJbmZvEhAKCGkxOG5fa2V5GAEgASgJEhIKCmkxOG5fdmFsdWUYAiABKAkSDAoEZGVzYxgDIAEoCRIWCg5uZWVkX3RyYW5zbGF0ZRgEIAEoCRIMCgR0eXBlGAUgASgJEgwKBGVudW0YBiABKAkiIgoRTWFya2V0aW5nQ2FyZExpbmsSDQoFdGl0bGUYASABKAkiigMKFk1hcmtldGluZ0NhcmRQb3B1cEZpdmUSDQoFdGl0bGUYASABKAkSEwoLcG9wdXBfdGl0bGUYAiABKAkSFAoMcGFnZV8xX3RpdGxlGAMgASgJEhoKEnBhZ2VfMV9kZXNjcmlwdGlvbhgEIAEoCRIUCgxwYWdlXzJfdGl0bGUYBSABKAkSGgoScGFnZV8yX2Rlc2NyaXB0aW9uGAYgASgJEhQKDHBhZ2VfM190aXRsZRgHIAEoCRIaChJwYWdlXzNfZGVzY3JpcHRpb24YCCABKAkSFAoMcGFnZV80X3RpdGxlGAkgASgJEhoKEnBhZ2VfNF9kZXNjcmlwdGlvbhgKIAEoCRIUCgxwYWdlXzVfdGl0bGUYCyABKAkSGgoScGFnZV81X2Rlc2NyaXB0aW9uGAwgASgJEhIKCmJ0bl8xX3RleHQYDSABKAkSFAoMYnRuXzFfcHJvbXB0GA4gASgJEhIKCmJ0bl8yX3RleHQYDyABKAkSFAoMYnRuXzJfcHJvbXB0GBAgASgJMpEBChhJMThuVGVtcGxhdGVBZG1pblNlcnZpY2USdQoUR2V0VGVtcGxhdGVGaWVsZEluZm8SLS5pMThuX3RlbXBsYXRlLnYxLkdldFRlbXBsYXRlRmllbGRJbmZvUmVxdWVzdBouLmkxOG5fdGVtcGxhdGUudjEuR2V0VGVtcGxhdGVGaWVsZEluZm9SZXNwb25zZULYAQoUY29tLmkxOG5fdGVtcGxhdGUudjFCFkkxOG5UZW1wbGF0ZUFkbWluUHJvdG9QAVpLZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2kxOG5fdGVtcGxhdGUvdjE7aTE4bl90ZW1wbGF0ZXYxogIDSVhYqgIPSTE4blRlbXBsYXRlLlYxygIPSTE4blRlbXBsYXRlXFYx4gIbSTE4blRlbXBsYXRlXFYxXEdQQk1ldGFkYXRh6gIQSTE4blRlbXBsYXRlOjpWMWIGcHJvdG8z",[Ye,As,He,ee]),J2=M(U2,0),x2=z("ChJmaWxlL3YxL2ZpbGUucHJvdG8SB2ZpbGUudjEiSgoOU2lnblVybFJlcXVlc3QSEAoIZmlsZW5hbWUYASABKAkSJgoGbW9kdWxlGAIgASgOMhYuZmlsZS52MS5QcmVTaWduTW9kdWxlIl4KD1NpZ25VcmxSZXNwb25zZRIUCgxwcmVfc2lnbl91cmwYASABKAkSEgoKb2JqZWN0X3VybBgCIAEoCRIPCgdjZG5fdXJsGAMgASgJEhAKCGZpbGVuYW1lGAQgASgJIjwKE0JhdGNoU2lnblVybFJlcXVlc3QSJQoEdXJscxgBIAMoCzIXLmZpbGUudjEuU2lnblVybFJlcXVlc3QiRwoUQmF0Y2hTaWduVXJsUmVzcG9uc2USLwoNc2lnbl91cmxfbGlzdBgBIAMoCzIYLmZpbGUudjEuU2lnblVybFJlc3BvbnNlKpYBCg1QcmVTaWduTW9kdWxlEh8KG1BSRV9TSUdOX01PRFVMRV9VTlNQRUNJRklFRBAAEiAKHFBSRV9TSUdOX01PRFVMRV9TRVNTSU9OX0ZJTEUQARIkCiBQUkVfU0lHTl9NT0RVTEVfU0VTU0lPTl9GRUVEQkFDSxACEhwKGFBSRV9TSUdOX01PRFVMRV9NQVJLRE9XThADMpgBCgtGaWxlU2VydmljZRI8CgdTaWduVXJsEhcuZmlsZS52MS5TaWduVXJsUmVxdWVzdBoYLmZpbGUudjEuU2lnblVybFJlc3BvbnNlEksKDEJhdGNoU2lnblVybBIcLmZpbGUudjEuQmF0Y2hTaWduVXJsUmVxdWVzdBodLmZpbGUudjEuQmF0Y2hTaWduVXJsUmVzcG9uc2VCkAEKC2NvbS5maWxlLnYxQglGaWxlUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2ZpbGUvdjE7ZmlsZXYxogIDRlhYqgIHRmlsZS5WMcoCB0ZpbGVcVjHiAhNGaWxlXFYxXEdQQk1ldGFkYXRh6gIIRmlsZTo6VjFiBnByb3RvMw"),w2=M(x2,0),k2=z("ChhmaWxlL3YxL2FkbWluX2ZpbGUucHJvdG8SB2ZpbGUudjEiVAoTQWRtaW5TaWduVXJsUmVxdWVzdBIQCghmaWxlbmFtZRgBIAEoCRIrCgZtb2R1bGUYAiABKA4yGy5maWxlLnYxLkFkbWluUHJlU2lnbk1vZHVsZSJjChRBZG1pblNpZ25VcmxSZXNwb25zZRIUCgxwcmVfc2lnbl91cmwYASABKAkSEgoKb2JqZWN0X3VybBgCIAEoCRIPCgdjZG5fdXJsGAMgASgJEhAKCGZpbGVuYW1lGAQgASgJIkYKGEFkbWluQmF0Y2hTaWduVXJsUmVxdWVzdBIqCgR1cmxzGAEgAygLMhwuZmlsZS52MS5BZG1pblNpZ25VcmxSZXF1ZXN0IlEKGUFkbWluQmF0Y2hTaWduVXJsUmVzcG9uc2USNAoNc2lnbl91cmxfbGlzdBgBIAMoCzIdLmZpbGUudjEuQWRtaW5TaWduVXJsUmVzcG9uc2UqmAEKEkFkbWluUHJlU2lnbk1vZHVsZRIlCiFBRE1JTl9QUkVfU0lHTl9NT0RVTEVfVU5TUEVDSUZJRUQQABIuCipBRE1JTl9QUkVfU0lHTl9NT0RVTEVfQVBQX0hPTUVfUkVDT01NRU5ERUQQARIrCidBRE1JTl9QUkVfU0lHTl9NT0RVTEVfTk9USUZJQ0FUSU9OX0ZJTEUQAjK7AQoQQWRtaW5GaWxlU2VydmljZRJLCgxBZG1pblNpZ25VcmwSHC5maWxlLnYxLkFkbWluU2lnblVybFJlcXVlc3QaHS5maWxlLnYxLkFkbWluU2lnblVybFJlc3BvbnNlEloKEUFkbWluQmF0Y2hTaWduVXJsEiEuZmlsZS52MS5BZG1pbkJhdGNoU2lnblVybFJlcXVlc3QaIi5maWxlLnYxLkFkbWluQmF0Y2hTaWduVXJsUmVzcG9uc2VClQEKC2NvbS5maWxlLnYxQg5BZG1pbkZpbGVQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvZmlsZS92MTtmaWxldjGiAgNGWFiqAgdGaWxlLlYxygIHRmlsZVxWMeICE0ZpbGVcVjFcR1BCTWV0YWRhdGHqAghGaWxlOjpWMWIGcHJvdG8z"),z2=M(k2,0),Q2=z("Chpub3RpZmllci92MS9ub3RpZmllci5wcm90bxILbm90aWZpZXIudjEiKwoNTG9nb3V0UmVxdWVzdBIaCglkZXZpY2VfaWQYASABKAlCB7pIBHICEAEiEAoOTG9nb3V0UmVzcG9uc2UijAIKFVJlZ2lzdGVyRGV2aWNlUmVxdWVzdBIYCgd1c2VyX2lkGAEgASgJQge6SARyAhABEhoKCWRldmljZV9pZBgCIAEoCUIHukgEcgIQARIxCgtkZXZpY2VfdHlwZRgDIAEoCUIcukgZchdSB0JST1dTRVJSB0FORFJPSURSA0lPUxIYCgdvc190eXBlGAQgASgJQge6SARyAhABEhwKC2NsaWVudF90eXBlGAUgASgJQge6SARyAhABEh8KDmNsaWVudF92ZXJzaW9uGAYgASgJQge6SARyAhABEh4KDWNsaWVudF9sb2NhbGUYByABKAlCB7pIBHICEAESEQoJZmNtX3Rva2VuGAggASgJIhgKFlJlZ2lzdGVyRGV2aWNlUmVzcG9uc2UiNQoXRGVyZWdpc3RlckRldmljZVJlcXVlc3QSGgoJZGV2aWNlX2lkGAEgASgJQge6SARyAhABIhoKGERlcmVnaXN0ZXJEZXZpY2VSZXNwb25zZTKWAgoPTm90aWZpZXJTZXJ2aWNlElsKDlJlZ2lzdGVyRGV2aWNlEiIubm90aWZpZXIudjEuUmVnaXN0ZXJEZXZpY2VSZXF1ZXN0GiMubm90aWZpZXIudjEuUmVnaXN0ZXJEZXZpY2VSZXNwb25zZSIAEmEKEERlcmVnaXN0ZXJEZXZpY2USJC5ub3RpZmllci52MS5EZXJlZ2lzdGVyRGV2aWNlUmVxdWVzdBolLm5vdGlmaWVyLnYxLkRlcmVnaXN0ZXJEZXZpY2VSZXNwb25zZSIAEkMKBkxvZ291dBIaLm5vdGlmaWVyLnYxLkxvZ291dFJlcXVlc3QaGy5ub3RpZmllci52MS5Mb2dvdXRSZXNwb25zZSIAQrABCg9jb20ubm90aWZpZXIudjFCDU5vdGlmaWVyUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L25vdGlmaWVyL3YxO25vdGlmaWVydjGiAgNOWFiqAgtOb3RpZmllci5WMcoCC05vdGlmaWVyXFYx4gIXTm90aWZpZXJcVjFcR1BCTWV0YWRhdGHqAgxOb3RpZmllcjo6VjFiBnByb3RvMw",[Ye]),L2=M(Q2,0),Ks=z("Ch5ub3RpZmllci92MS9ub3RpZmljYXRpb24ucHJvdG8SC25vdGlmaWVyLnYxIuUBChBOb3RpZmljYXRpb25JdGVtEgsKA3VpZBgBIAEoCRI5CgZkZXRhaWwYAyADKAsyKS5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtLkRldGFpbEVudHJ5EisKBHR5cGUYBCABKA4yHS5ub3RpZmllci52MS5Ob3RpZmljYXRpb25UeXBlEi0KCWNyZWF0ZV9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaLQoLRGV0YWlsRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJeChpHZXROb3RpZmljYXRpb25MaXN0UmVxdWVzdBIXCgpsYXRlc3RfdWlkGAEgASgJSACIAQESGAoFbGltaXQYAiABKAVCCbpIBhoEGAooAUINCgtfbGF0ZXN0X3VpZCJ8ChtHZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIrCgRkYXRhGAIgAygLMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uSXRlbRINCgV0b3RhbBgDIAEoAxIQCghoYXNfbmV4dBgEIAEoCCLxAQoWTm90aWZpY2F0aW9uSXRlbURldGFpbBINCgV0aXRsZRgBIAEoCRIPCgdjb250ZW50GAIgASgJEicKBmJ1dHRvbhgDIAEoCzIXLm5vdGlmaWVyLnYxLkJ1dHRvbkluZm8SJQoFbWVkaWEYBCABKAsyFi5ub3RpZmllci52MS5NZWRpYUluZm8SMQoMbW9iaWxlX21lZGlhGAUgASgLMhYubm90aWZpZXIudjEuTWVkaWFJbmZvSACIAQESIwoEZGF0YRgGIAMoCzIVLm5vdGlmaWVyLnYxLlBhZ2VEYXRhQg8KDV9tb2JpbGVfbWVkaWEiJgoIUGFnZURhdGESCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJIj8KCkJ1dHRvbkluZm8SEwoLYnV0dG9uX3RleHQYASABKAkSDAoEdHlwZRgCIAEoCRIOCgZ0YXJnZXQYAyABKAkiTAoJTWVkaWFJbmZvEgwKBHR5cGUYASABKAkSCwoDdXJsGAIgASgJEhYKCWNvdmVyX3VybBgDIAEoCUgAiAEBQgwKCl9jb3Zlcl91cmwisgEKEk5vdGlmaWNhdGlvbkl0ZW1WMhILCgN1aWQYASABKAkSMwoGZGV0YWlsGAMgASgLMiMubm90aWZpZXIudjEuTm90aWZpY2F0aW9uSXRlbURldGFpbBIrCgR0eXBlGAQgASgOMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uVHlwZRItCgljcmVhdGVfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIoABCh1HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2VWMhIPCgdzdWNjZXNzGAEgASgIEi0KBGRhdGEYAiADKAsyHy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtVjISDQoFdG90YWwYAyABKAMSEAoIaGFzX25leHQYBCABKAgqgQEKEk5vdGlmaWNhdGlvblN0YXR1cxIjCh9OT1RJRklDQVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodTk9USUZJQ0FUSU9OX1NUQVRVU19QVUJMSVNIRUQQARIjCh9OT1RJRklDQVRJT05fU1RBVFVTX1VOUFVCTElTSEVEEAIqkgEKEE5vdGlmaWNhdGlvblR5cGUSIQodTk9USUZJQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIcChhOT1RJRklDQVRJT05fVFlQRV9TWVNURU0QARIaChZOT1RJRklDQVRJT05fVFlQRV9VU0VSEAISIQodTk9USUZJQ0FUSU9OX1RZUEVfTkVXX1ZFUlNJT04QAzLtAQoTTm90aWZpY2F0aW9uU2VydmljZRJoChNHZXROb3RpZmljYXRpb25MaXN0Eicubm90aWZpZXIudjEuR2V0Tm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKC5ub3RpZmllci52MS5HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2USbAoVR2V0Tm90aWZpY2F0aW9uTGlzdFYyEicubm90aWZpZXIudjEuR2V0Tm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKi5ub3RpZmllci52MS5HZXROb3RpZmljYXRpb25MaXN0UmVzcG9uc2VWMkK0AQoPY29tLm5vdGlmaWVyLnYxQhFOb3RpZmljYXRpb25Qcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbm90aWZpZXIvdjE7bm90aWZpZXJ2MaICA05YWKoCC05vdGlmaWVyLlYxygILTm90aWZpZXJcVjHiAhdOb3RpZmllclxWMVxHUEJNZXRhZGF0YeoCDE5vdGlmaWVyOjpWMWIGcHJvdG8z",[Ye,ee]),K2=M(Ks,0),T2=z("CiRub3RpZmllci92MS9ub3RpZmljYXRpb25fYWRtaW4ucHJvdG8SC25vdGlmaWVyLnYxItwBCiBBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVxdWVzdBINCgV0aXRsZRgBIAEoCRITCgt0ZW1wbGF0ZV9pZBgDIAEoCRJcChBwbGFjZWhvbGRlcl9kYXRhGAQgAygLMkIubm90aWZpZXIudjEuQWRkTmV3VmVyc2lvbk5vdGlmaWNhdGlvblJlcXVlc3QuUGxhY2Vob2xkZXJEYXRhRW50cnkaNgoUUGxhY2Vob2xkZXJEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0CiFBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCKaAQofVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBIYChBub3RpZmljYXRpb25fdWlkGAEgASgJEjQKBnN0YXR1cxgCIAEoDjIfLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvblN0YXR1c0gAiAEBEhIKBXRpdGxlGAMgASgJSAGIAQFCCQoHX3N0YXR1c0IICgZfdGl0bGUiMwogVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCL3AQoVQWRtaW5Ob3RpZmljYXRpb25JdGVtEgsKA3VpZBgBIAEoCRINCgV0aXRsZRgCIAEoCRIMCgRkZXNjGAMgASgJEicKBmRldGFpbBgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKwoEdHlwZRgFIAEoDjIdLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvblR5cGUSLwoGc3RhdHVzGAYgASgOMh8ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uU3RhdHVzEi0KCWNyZWF0ZV9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi7gIKG1BhZ2VOb3RpZmljYXRpb25MaXN0UmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEj0KEW5vdGlmaWNhdGlvbl90eXBlGAMgASgOMh0ubm90aWZpZXIudjEuTm90aWZpY2F0aW9uVHlwZUgAiAEBEkEKE25vdGlmaWNhdGlvbl9zdGF0dXMYBCABKA4yHy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25TdGF0dXNIAYgBARIdChBub3RpZmljYXRpb25fdWlkGAUgASgJSAKIAQESHwoSbm90aWZpY2F0aW9uX3RpdGxlGAYgASgJSAOIAQFCFAoSX25vdGlmaWNhdGlvbl90eXBlQhYKFF9ub3RpZmljYXRpb25fc3RhdHVzQhMKEV9ub3RpZmljYXRpb25fdWlkQhUKE19ub3RpZmljYXRpb25fdGl0bGUicAocUGFnZU5vdGlmaWNhdGlvbkxpc3RSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEjAKBGRhdGEYAiADKAsyIi5ub3RpZmllci52MS5BZG1pbk5vdGlmaWNhdGlvbkl0ZW0SDQoFdG90YWwYAyABKAMi1AEKHEFkZFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QSDQoFdGl0bGUYASABKAkSEwoLdGVtcGxhdGVfaWQYAyABKAkSWAoQcGxhY2Vob2xkZXJfZGF0YRgEIAMoCzI+Lm5vdGlmaWVyLnYxLkFkZFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QuUGxhY2Vob2xkZXJEYXRhRW50cnkaNgoUUGxhY2Vob2xkZXJEYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIwCh1BZGRTeXN0ZW1Ob3RpZmljYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIikKEkdldFRlbXBsYXRlUmVxdWVzdBITCgt0ZW1wbGF0ZV9pZBgBIAEoCSKJAQoTR2V0VGVtcGxhdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEioKCWkxOG5fZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsItkBChJBZGRUZW1wbGF0ZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIqCglpMThuX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EgsKA3VpZBgEIAEoCRI1Cgh0ZW1wbGF0ZRgFIAEoCzIjLm5vdGlmaWVyLnYxLk5vdGlmaWNhdGlvbkl0ZW1EZXRhaWwSMAoNdGVtcGxhdGVfdHlwZRgGIAEoDjIZLm5vdGlmaWVyLnYxLlRlbXBsYXRlVHlwZSKzAQoeQWRkTm90aWZpY2F0aW9uVGVtcGxhdGVSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSKgoJaTE4bl9kYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBILCgN1aWQYBCABKAkSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsIjsKE0FkZFRlbXBsYXRlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBITCgt0ZW1wbGF0ZV9pZBgCIAEoCSKhAQoMVGVtcGxhdGVJdGVtEgsKA3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEioKCWkxOG5fZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNQoIdGVtcGxhdGUYBSABKAsyIy5ub3RpZmllci52MS5Ob3RpZmljYXRpb25JdGVtRGV0YWlsIpsBChZHZXRUZW1wbGF0ZUxpc3RSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESEQoEbmFtZRgDIAEoCUgAiAEBEjAKDXRlbXBsYXRlX3R5cGUYBCABKA4yGS5ub3RpZmllci52MS5UZW1wbGF0ZVR5cGVCBwoFX25hbWUiYgoXR2V0VGVtcGxhdGVMaXN0UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBInCgRkYXRhGAIgAygLMhkubm90aWZpZXIudjEuVGVtcGxhdGVJdGVtEg0KBXRvdGFsGAMgASgDIu0SChBUZW1wbGF0ZUkxOG5EYXRhEjEKAmFyGAEgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5BckVudHJ5EjEKAmNzGAIgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5Dc0VudHJ5EjEKAmRlGAMgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5EZUVudHJ5EjEKAmVuGAQgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5FbkVudHJ5EjEKAmVzGAUgAygLMiUubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5Fc0VudHJ5EjgKBmVzXzQxORgGIAMoCzIoLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRXM0MTlFbnRyeRIxCgJmYRgHIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRmFFbnRyeRIxCgJmchgIIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuRnJFbnRyeRIxCgJoaRgJIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSGlFbnRyeRIxCgJpZBgKIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSWRFbnRyeRIxCgJpdBgLIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSXRFbnRyeRIxCgJqYRgMIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuSmFFbnRyeRIxCgJrbxgNIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuS29FbnRyeRIxCgJubBgOIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuTmxFbnRyeRIxCgJwbBgPIAMoCzIlLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuUGxFbnRyeRI2CgVwdF9CUhgQIAMoCzInLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuUHRCUkVudHJ5EjYKBXB0X1BUGBEgAygLMicubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5QdFBURW50cnkSMQoCcnUYEiADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlJ1RW50cnkSMQoCdGgYEyADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlRoRW50cnkSMQoCdHIYFCADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlRyRW50cnkSMQoCdWsYFSADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlVrRW50cnkSMQoCdmkYFiADKAsyJS5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlZpRW50cnkSNgoFemhfQ04YFyADKAsyJy5ub3RpZmllci52MS5UZW1wbGF0ZUkxOG5EYXRhLlpoQ05FbnRyeRI2CgV6aF9ISxgYIAMoCzInLm5vdGlmaWVyLnYxLlRlbXBsYXRlSTE4bkRhdGEuWmhIS0VudHJ5EjYKBXpoX1RXGBkgAygLMicubm90aWZpZXIudjEuVGVtcGxhdGVJMThuRGF0YS5aaFRXRW50cnkaKQoHQXJFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0NzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdEZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHRW5FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARosCgpFczQxOUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHRmFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0ZyRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdIaUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHSWRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB0l0RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdKYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHS29FbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB05sRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdQbEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKwoJUHRCUkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKwoJUHRQVEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHUnVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB1RoRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARopCgdUckVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaKQoHVWtFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGikKB1ZpRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaENORW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaEhLRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARorCglaaFRXRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJECiREZWxldGVOb3RpZmljYXRpb25BbmRUZW1wbGF0ZVJlcXVlc3QSHAoLdGVtcGxhdGVfaWQYASABKAlCB7pIBHICEAEiOAolRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKlsKDFRlbXBsYXRlVHlwZRIZChVURU1QTEFURV9UWVBFX1VOS05PV04QABIYChRURU1QTEFURV9UWVBFX1NZU1RFTRABEhYKElRFTVBMQVRFX1RZUEVfVVNFUhACMvYGChhOb3RpZmljYXRpb25BZG1pblNlcnZpY2USbgoVQWRkU3lzdGVtTm90aWZpY2F0aW9uEikubm90aWZpZXIudjEuQWRkU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBoqLm5vdGlmaWVyLnYxLkFkZFN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlEmoKE0dldE5vdGlmaWNhdGlvbkxpc3QSKC5ub3RpZmllci52MS5QYWdlTm90aWZpY2F0aW9uTGlzdFJlcXVlc3QaKS5ub3RpZmllci52MS5QYWdlTm90aWZpY2F0aW9uTGlzdFJlc3BvbnNlEncKGFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvbhIsLm5vdGlmaWVyLnYxLlVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QaLS5ub3RpZmllci52MS5VcGRhdGVTeXN0ZW1Ob3RpZmljYXRpb25SZXNwb25zZRJ6ChlBZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uEi0ubm90aWZpZXIudjEuQWRkTmV3VmVyc2lvbk5vdGlmaWNhdGlvblJlcXVlc3QaLi5ub3RpZmllci52MS5BZGROZXdWZXJzaW9uTm90aWZpY2F0aW9uUmVzcG9uc2USUAoLQWRkVGVtcGxhdGUSHy5ub3RpZmllci52MS5BZGRUZW1wbGF0ZVJlcXVlc3QaIC5ub3RpZmllci52MS5BZGRUZW1wbGF0ZVJlc3BvbnNlElwKD0dldFRlbXBsYXRlTGlzdBIjLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlTGlzdFJlcXVlc3QaJC5ub3RpZmllci52MS5HZXRUZW1wbGF0ZUxpc3RSZXNwb25zZRJQCgtHZXRUZW1wbGF0ZRIfLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlUmVxdWVzdBogLm5vdGlmaWVyLnYxLkdldFRlbXBsYXRlUmVzcG9uc2UShgEKHURlbGV0ZU5vdGlmaWNhdGlvbkFuZFRlbXBsYXRlEjEubm90aWZpZXIudjEuRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXF1ZXN0GjIubm90aWZpZXIudjEuRGVsZXRlTm90aWZpY2F0aW9uQW5kVGVtcGxhdGVSZXNwb25zZUK5AQoPY29tLm5vdGlmaWVyLnYxQhZOb3RpZmljYXRpb25BZG1pblByb3RvUAFaQWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9ub3RpZmllci92MTtub3RpZmllcnYxogIDTlhYqgILTm90aWZpZXIuVjHKAgtOb3RpZmllclxWMeICF05vdGlmaWVyXFYxXEdQQk1ldGFkYXRh6gIMTm90aWZpZXI6OlYxYgZwcm90bzM",[Ye,ee,He,Ks]),M2=M(T2,0),H2=z("ChZjb25maWcvdjEvY29uZmlnLnByb3RvEgljb25maWcudjEidAoJRTJCQ29uZmlnEhIKCmNsdXN0ZXJfaWQYASABKAkSEwoLZTJiX2FwaV9rZXkYAiABKAkSEgoKZTJiX2RvbWFpbhgDIAEoCRIOCgZ3ZWlnaHQYBSABKA0SGgoSbm9ybWFsX3VzZXJfd2VpZ2h0GAYgASgNIisKFUdldEJ5Q2x1c3RlcklEUmVxdWVzdBISCgpjbHVzdGVyX2lkGAEgASgJImoKFkdldEJ5Q2x1c3RlcklEUmVzcG9uc2USKAoKZTJiX2NvbmZpZxgBIAEoCzIULmNvbmZpZy52MS5FMkJDb25maWcSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJIiwKE0dldEF2YWlsYWJsZVJlcXVlc3QSFQoNaXNfbWVtYmVyc2hpcBgBIAEoCCJoChRHZXRBdmFpbGFibGVSZXNwb25zZRIoCgplMmJfY29uZmlnGAEgASgLMhQuY29uZmlnLnYxLkUyQkNvbmZpZxIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAkiEAoOTGlzdEFsbFJlcXVlc3QiZAoPTGlzdEFsbFJlc3BvbnNlEikKC2UyYl9jb25maWdzGAEgAygLMhQuY29uZmlnLnYxLkUyQkNvbmZpZxIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAky/AEKEEUyQkNvbmZpZ1NlcnZpY2USVQoOR2V0QnlDbHVzdGVySUQSIC5jb25maWcudjEuR2V0QnlDbHVzdGVySURSZXF1ZXN0GiEuY29uZmlnLnYxLkdldEJ5Q2x1c3RlcklEUmVzcG9uc2USTwoMR2V0QXZhaWxhYmxlEh4uY29uZmlnLnYxLkdldEF2YWlsYWJsZVJlcXVlc3QaHy5jb25maWcudjEuR2V0QXZhaWxhYmxlUmVzcG9uc2USQAoHTGlzdEFsbBIZLmNvbmZpZy52MS5MaXN0QWxsUmVxdWVzdBoaLmNvbmZpZy52MS5MaXN0QWxsUmVzcG9uc2VCoAEKDWNvbS5jb25maWcudjFCC0NvbmZpZ1Byb3RvUAFaPWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9jb25maWcvdjE7Y29uZmlndjGiAgNDWFiqAglDb25maWcuVjHKAglDb25maWdcVjHiAhVDb25maWdcVjFcR1BCTWV0YWRhdGHqAgpDb25maWc6OlYxYgZwcm90bzM"),D2=M(H2,0),Ts=z("Ch9hY3Rpdml0eS92MS9hY3Rpdml0eV9iYXNlLnByb3RvEgthY3Rpdml0eS52MSKsAQoNVXNlckNvdW50SW5mbxINCgV0b3RhbBgBIAEoAxJBCgxkb21haW5fY291bnQYAiADKAsyKy5hY3Rpdml0eS52MS5Vc2VyQ291bnRJbmZvLkRvbWFpbkNvdW50RW50cnkSFQoNYmxvY2tlZF9jb3VudBgDIAEoAxoyChBEb21haW5Db3VudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAzoCOAEixwQKFEFjdGl2aXR5T3JnYW5pemF0aW9uEgoKAmlkGAEgASgDEgsKA3VpZBgCIAEoCRIMCgRuYW1lGAMgASgJEg4KBmF2YXRhchgEIAEoCRINCgV0aXRsZRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIvCghvcmdfdHlwZRgHIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGUSIwoGc3RhdHVzGAggASgOMhMuYWN0aXZpdHkudjEuU3RhdHVzEh4KFnJlY29tbWVuZF91c2VjYXNlX2xpc3QYCSADKAkSGQoRZW1haWxfZG9tYWluX2xpc3QYCiADKAkSDgoGbG9jYWxlGAsgASgJEhIKCmV4dHJhX2RhdGEYDSABKAkSEwoLdW5pcXVlX25hbWUYDiABKAkSLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZGVsZXRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKdXNlcl90b3RhbBgSIAEoAxIZChFyZWNvbW1lbmRfY3JlZGl0cxgTIAEoBRIYChByZWdpc3Rlcl9jcmVkaXRzGBQgASgFEg8KB2NvdW50cnkYFSABKAkSDAoEY2l0eRgWIAEoCRISCgphbGlhc19saXN0GBcgAygJItgBChNBY3Rpdml0eUVtYWlsRG9tYWluEgoKAmlkGAEgASgDEg8KB29yZ191aWQYAiABKAkSFAoMZW1haWxfZG9tYWluGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIv4BCgxBY3Rpdml0eVVzZXISCgoCaWQYASABKAMSDwoHb3JnX3VpZBgCIAEoCRIPCgd1c2VyX2lkGAMgASgJEjAKDWFjdGl2aXR5X3R5cGUYBCABKA4yGS5hY3Rpdml0eS52MS5BY3Rpdml0eVR5cGUSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKZGVsZXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAigwQKEEFjdGl2aXR5VXNlckluZm8SDwoHdXNlcl9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIRCglmaXJzdG5hbWUYAyABKAkSEAoIbGFzdG5hbWUYBCABKAkSEwoLZGlzcGxheW5hbWUYBSABKAkSEAoIbmlja25hbWUYBiABKAkSDgoGYXZhdGFyGAcgASgJEhAKCGlzX2FscGhhGAggASgIEhMKC2luX3dhaXRsaXN0GAkgASgIEhMKC3ZpcF92ZXJzaW9uGAogASgJEhQKDHZpcF9pbnRlcnZhbBgLIAEoCRIaChJjdXJyZW50X3BlcmlvZF9lbmQYDCABKAMSHAoUY2FuY2VsX2F0X3BlcmlvZF9lbmQYDSABKAgSDwoHaXNfYmV0YRgOIAEoCBIYChBwYXltZW50X3BsYXRmb3JtGA8gASgJEgsKA3VpZBgQIAEoCRIbChNjb25jdXJyZW50X3Nlc3Npb25zGBEgASgFEhUKDXBsYXRmb3JtX2xpc3QYEiADKAkSGgoSbWVtYmVyc2hpcF92ZXJzaW9uGB4gASgJEhsKE21lbWJlcnNoaXBfaW50ZXJ2YWwYHyABKAkSEgoKaXNfYmxvY2tlZBggIAEoCBIuCgpjcmVhdGVkX2F0GCMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKXAQobTGlzdE9yZ2FuaXphdGlvblVzZXJSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFEhQKB29yZ191aWQYAyABKAlIAIgBARIRCgR1c2VyGAQgASgJSAGIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYBSADKAlCCgoIX29yZ191aWRCBwoFX3VzZXIiWgocTGlzdE9yZ2FuaXphdGlvblVzZXJSZXNwb25zZRINCgV0b3RhbBgBIAEoBRIrCgRsaXN0GAIgAygLMh0uYWN0aXZpdHkudjEuQWN0aXZpdHlVc2VySW5mbyKgAwofTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIPCgJpZBgDIAEoA0gAiAEBEhAKA3VpZBgEIAEoCUgBiAEBEhEKBG5hbWUYBSABKAlIAogBARI0CghvcmdfdHlwZRgGIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGVIA4gBARITCgZsb2NhbGUYByABKAlIBIgBARIZCgxlbWFpbF9kb21haW4YCCABKAlIBYgBARIoCgZzdGF0dXMYCSABKA4yEy5hY3Rpdml0eS52MS5TdGF0dXNIBogBARIUCgdrZXl3b3JkGAogASgJSAeIAQESGAoLdW5pcXVlX25hbWUYCyABKAlICIgBAUIFCgNfaWRCBgoEX3VpZEIHCgVfbmFtZUILCglfb3JnX3R5cGVCCQoHX2xvY2FsZUIPCg1fZW1haWxfZG9tYWluQgkKB19zdGF0dXNCCgoIX2tleXdvcmRCDgoMX3VuaXF1ZV9uYW1lImIKIExpc3RBY3Rpdml0eU9yZ2FuaXphdGlvblJlc3BvbnNlEg0KBXRvdGFsGAEgASgFEi8KBGRhdGEYAiADKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbipNCgxBY3Rpdml0eVR5cGUSHQoZQUNUSVZJVFlfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkFDVElWSVRZX1RZUEVfT1JHQU5JWkFUSU9OEAEqkwEKEE9yZ2FuaXphdGlvblR5cGUSIQodT1JHQU5JWkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABIdChlPUkdBTklaQVRJT05fVFlQRV9DT01QQU5ZEAESHAoYT1JHQU5JWkFUSU9OX1RZUEVfU0NIT09MEAISHwobT1JHQU5JWkFUSU9OX1RZUEVfQ09NTVVOSVRZEAMqSAoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEhEKDVNUQVRVU19BQ1RJVkUQARITCg9TVEFUVVNfSU5BQ1RJVkUQAipiCg9Vc2VyQmxvY2tlZFR5cGUSHAoYQkxPQ0tFRF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQkxPQ0tFRF9UWVBFX0FDQ09VTlQQARIXChNCTE9DS0VEX1RZUEVfU0hVVFVQEAJCtAEKD2NvbS5hY3Rpdml0eS52MUIRQWN0aXZpdHlCYXNlUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2FjdGl2aXR5L3YxO2FjdGl2aXR5djGiAgNBWFiqAgtBY3Rpdml0eS5WMcoCC0FjdGl2aXR5XFYx4gIXQWN0aXZpdHlcVjFcR1BCTWV0YWRhdGHqAgxBY3Rpdml0eTo6VjFiBnByb3RvMw",[He,ee]),_2=z("ChphY3Rpdml0eS92MS9hY3Rpdml0eS5wcm90bxILYWN0aXZpdHkudjEiMgofR2V0T3JnYW5pemF0aW9uSW5mb0J5VUlEUmVxdWVzdBIPCgdvcmdfdWlkGAEgASgJIlcKIEdldE9yZ2FuaXphdGlvbkluZm9CeVVJRFJlc3BvbnNlEjMKCG9yZ19pbmZvGAEgASgLMiEuYWN0aXZpdHkudjEuQWN0aXZpdHlPcmdhbml6YXRpb24iMgohR2V0T3JnYW5pemF0aW9uSW5mb0J5RW1haWxSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIlkKIkdldE9yZ2FuaXphdGlvbkluZm9CeUVtYWlsUmVzcG9uc2USMwoIb3JnX2luZm8YASABKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbiI9CiZHZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVxdWVzdBITCgt1bmlxdWVfbmFtZRgBIAEoCSJeCidHZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVzcG9uc2USMwoIb3JnX2luZm8YASABKAsyIS5hY3Rpdml0eS52MS5BY3Rpdml0eU9yZ2FuaXphdGlvbjKXBAoVUHVibGljQWN0aXZpdHlTZXJ2aWNlEncKGEdldE9yZ2FuaXphdGlvbkluZm9CeVVJRBIsLmFjdGl2aXR5LnYxLkdldE9yZ2FuaXphdGlvbkluZm9CeVVJRFJlcXVlc3QaLS5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlVSURSZXNwb25zZRJ3ChhMaXN0QWN0aXZpdHlPcmdhbml6YXRpb24SLC5hY3Rpdml0eS52MS5MaXN0QWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi0uYWN0aXZpdHkudjEuTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVzcG9uc2USfQoaR2V0T3JnYW5pemF0aW9uSW5mb0J5RW1haWwSLi5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlFbWFpbFJlcXVlc3QaLy5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlFbWFpbFJlc3BvbnNlEowBCh9HZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lEjMuYWN0aXZpdHkudjEuR2V0T3JnYW5pemF0aW9uSW5mb0J5VW5pcXVlTmFtZVJlcXVlc3QaNC5hY3Rpdml0eS52MS5HZXRPcmdhbml6YXRpb25JbmZvQnlVbmlxdWVOYW1lUmVzcG9uc2VCsAEKD2NvbS5hY3Rpdml0eS52MUINQWN0aXZpdHlQcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYWN0aXZpdHkvdjE7YWN0aXZpdHl2MaICA0FYWKoCC0FjdGl2aXR5LlYxygILQWN0aXZpdHlcVjHiAhdBY3Rpdml0eVxWMVxHUEJNZXRhZGF0YeoCDEFjdGl2aXR5OjpWMWIGcHJvdG8z",[Ts,He,ee]),j2=M(_2,0),P2=z("CiBhY3Rpdml0eS92MS9hY3Rpdml0eV9hZG1pbi5wcm90bxILYWN0aXZpdHkudjEilAUKIVVwZGF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoAxIYCgt1bmlxdWVfbmFtZRgCIAEoCUgAiAEBEhEKBG5hbWUYAyABKAlIAYgBARI0CghvcmdfdHlwZRgEIAEoDjIdLmFjdGl2aXR5LnYxLk9yZ2FuaXphdGlvblR5cGVIAogBARITCgZsb2NhbGUYBSABKAlIA4gBARISCgV0aXRsZRgGIAEoCUgEiAEBEhgKC2Rlc2NyaXB0aW9uGAcgASgJSAWIAQESEwoGYXZhdGFyGAggASgJSAaIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYCSADKAkSKAoGc3RhdHVzGAogASgOMhMuYWN0aXZpdHkudjEuU3RhdHVzSAeIAQESHgoWcmVjb21tZW5kX3VzZWNhc2VfbGlzdBgLIAMoCRIXCgpleHRyYV9kYXRhGAwgASgJSAiIAQESHgoRcmVjb21tZW5kX2NyZWRpdHMYDSABKAVICYgBARIdChByZWdpc3Rlcl9jcmVkaXRzGA4gASgFSAqIAQESFAoHY291bnRyeRgPIAEoCUgLiAEBEhEKBGNpdHkYECABKAlIDIgBARISCgphbGlhc19saXN0GBEgAygJQg4KDF91bmlxdWVfbmFtZUIHCgVfbmFtZUILCglfb3JnX3R5cGVCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uQgkKB19hdmF0YXJCCQoHX3N0YXR1c0INCgtfZXh0cmFfZGF0YUIUChJfcmVjb21tZW5kX2NyZWRpdHNCEwoRX3JlZ2lzdGVyX2NyZWRpdHNCCgoIX2NvdW50cnlCBwoFX2NpdHkiRgoiVXBkYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkipwMKIUNyZWF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uUmVxdWVzdBITCgt1bmlxdWVfbmFtZRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKBmF2YXRhchgDIAEoCUgAiAEBEg0KBXRpdGxlGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEi8KCG9yZ190eXBlGAYgASgOMh0uYWN0aXZpdHkudjEuT3JnYW5pemF0aW9uVHlwZRIjCgZzdGF0dXMYByABKA4yEy5hY3Rpdml0eS52MS5TdGF0dXMSHgoWcmVjb21tZW5kX3VzZWNhc2VfbGlzdBgIIAMoCRIZChFlbWFpbF9kb21haW5fbGlzdBgJIAMoCRIOCgZsb2NhbGUYCiABKAkSEgoKZXh0cmFfZGF0YRgLIAEoCRIZChFyZWNvbW1lbmRfY3JlZGl0cxgMIAEoBRIYChByZWdpc3Rlcl9jcmVkaXRzGA0gASgFEg8KB2NvdW50cnkYDiABKAkSDAoEY2l0eRgPIAEoCRISCgphbGlhc19saXN0GBAgAygJQgkKB19hdmF0YXIidwoiQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkSLwoEZGF0YRgDIAEoCzIhLmFjdGl2aXR5LnYxLkFjdGl2aXR5T3JnYW5pemF0aW9uIh4KEERlbGV0ZU9yZ1JlcXVlc3QSCgoCaWQYASABKAMiNAoQRGVsZXRlT3JnUmVzb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiLQoaR2V0T3JnVXNlckNvdW50SW5mb1JlcXVlc3QSDwoHb3JnX3VpZBgBIAEoCSLeAQobR2V0T3JnVXNlckNvdW50SW5mb1Jlc3BvbnNlEg0KBXRvdGFsGAEgASgDEk8KDGRvbWFpbl9jb3VudBgCIAMoCzI5LmFjdGl2aXR5LnYxLkdldE9yZ1VzZXJDb3VudEluZm9SZXNwb25zZS5Eb21haW5Db3VudEVudHJ5EhUKDWJsb2NrZWRfY291bnQYAyABKAMSFAoMYWN0aXZlX2NvdW50GAQgASgDGjIKEERvbWFpbkNvdW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ASIpChZJbXBvcnREYXRhQnlDc3ZSZXF1ZXN0Eg8KB2Nzdl9zdHIYASABKAkifQoXSW1wb3J0RGF0YUJ5Q3N2UmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEhUKDXN1Y2Nlc3NfY291bnQYBCABKAMSFAoMZmFpbGVkX2NvdW50GAUgASgDEhMKC2ZhaWxlZF9saXN0GAYgAygJMo0GChRBY3Rpdml0eUFkbWluU2VydmljZRJ3ChhMaXN0QWN0aXZpdHlPcmdhbml6YXRpb24SLC5hY3Rpdml0eS52MS5MaXN0QWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi0uYWN0aXZpdHkudjEuTGlzdEFjdGl2aXR5T3JnYW5pemF0aW9uUmVzcG9uc2USfQoaVXBkYXRlQWN0aXZpdHlPcmdhbml6YXRpb24SLi5hY3Rpdml0eS52MS5VcGRhdGVBY3Rpdml0eU9yZ2FuaXphdGlvblJlcXVlc3QaLy5hY3Rpdml0eS52MS5VcGRhdGVBY3Rpdml0eU9yZ2FuaXphdGlvblJlc3BvbnNlEn0KGkNyZWF0ZUFjdGl2aXR5T3JnYW5pemF0aW9uEi4uYWN0aXZpdHkudjEuQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXF1ZXN0Gi8uYWN0aXZpdHkudjEuQ3JlYXRlQWN0aXZpdHlPcmdhbml6YXRpb25SZXNwb25zZRJrChRMaXN0T3JnYW5pemF0aW9uVXNlchIoLmFjdGl2aXR5LnYxLkxpc3RPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBopLmFjdGl2aXR5LnYxLkxpc3RPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2USaAoTR2V0T3JnVXNlckNvdW50SW5mbxInLmFjdGl2aXR5LnYxLkdldE9yZ1VzZXJDb3VudEluZm9SZXF1ZXN0GiguYWN0aXZpdHkudjEuR2V0T3JnVXNlckNvdW50SW5mb1Jlc3BvbnNlEkkKCURlbGV0ZU9yZxIdLmFjdGl2aXR5LnYxLkRlbGV0ZU9yZ1JlcXVlc3QaHS5hY3Rpdml0eS52MS5EZWxldGVPcmdSZXNvbnNlElwKD0ltcG9ydERhdGFCeUNzdhIjLmFjdGl2aXR5LnYxLkltcG9ydERhdGFCeUNzdlJlcXVlc3QaJC5hY3Rpdml0eS52MS5JbXBvcnREYXRhQnlDc3ZSZXNwb25zZUK1AQoPY29tLmFjdGl2aXR5LnYxQhJBY3Rpdml0eUFkbWluUHJvdG9QAVpBZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2FjdGl2aXR5L3YxO2FjdGl2aXR5djGiAgNBWFiqAgtBY3Rpdml0eS5WMcoCC0FjdGl2aXR5XFYx4gIXQWN0aXZpdHlcVjFcR1BCTWV0YWRhdGHqAgxBY3Rpdml0eTo6VjFiBnByb3RvMw",[Ts,He,ee]),O2=M(P2,0),Ms=z("CiNsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfYmFzZS5wcm90bxINbGl2ZV9ldmVudC52MSptCg1QdWJsaXNoU3RhdHVzEh4KGlBVQkxJU0hfU1RBVFVTX1VOU1BFQ0lGSUVEEAASHgoaUFVCTElTSF9TVEFUVVNfVU5QVUJMSVNIRUQQARIcChhQVUJMSVNIX1NUQVRVU19QVUJMSVNIRUQQAkK/AQoRY29tLmxpdmVfZXZlbnQudjFCEkxpdmVFdmVudEJhc2VQcm90b1ABWkVnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbGl2ZV9ldmVudC92MTtsaXZlX2V2ZW50djGiAgNMWFiqAgxMaXZlRXZlbnQuVjHKAgxMaXZlRXZlbnRcVjHiAhhMaXZlRXZlbnRcVjFcR1BCTWV0YWRhdGHqAg1MaXZlRXZlbnQ6OlYxYgZwcm90bzM"),$2=z("CiRsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfYWRtaW4ucHJvdG8SDWxpdmVfZXZlbnQudjEirAMKEkNyZWF0ZUV2ZW50UmVxdWVzdBIQCghldmVudF9pZBgBIAEoCRISCgpldmVudF9uYW1lGAIgASgJEgwKBGhvc3QYAyABKAkSLgoKc3RhcnRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2NvdW50cnkYBiABKAkSDgoGcmVnaW9uGAcgASgJEg8KB2FkZHJlc3MYCCABKAkSHwoXYWxsb3dfZnJlZV9yZWdpc3RyYXRpb24YCSABKAgSIQoZZ2l2ZV90ZW1wb3JhcnlfbWVtYmVyc2hpcBgKIAEoCBIUCgxmcmVlX2NyZWRpdHMYCyABKAUSFQoNZXZlbnRfY3JlZGl0cxgMIAEoBRIYChBtYXhfcGFydGljaXBhbnRzGA0gASgFEhgKEGdpZnRfaW52aXRlX2NvZGUYDiABKAUSFwoPY291bnRyeV9kaXNwbGF5GA8gASgJEhQKDGNpdHlfZGlzcGxheRgQIAEoCSIVChNDcmVhdGVFdmVudFJlc3BvbnNlIu4DChJVcGRhdGVFdmVudFJlcXVlc3QSCgoCaWQYASABKAUSEAoIZXZlbnRfaWQYAiABKAkSEgoKZXZlbnRfbmFtZRgDIAEoCRIMCgRob3N0GAQgASgJEi4KCnN0YXJ0X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjb3VudHJ5GAcgASgJEg4KBnJlZ2lvbhgIIAEoCRIPCgdhZGRyZXNzGAkgASgJEh8KF2FsbG93X2ZyZWVfcmVnaXN0cmF0aW9uGAogASgIEiEKGWdpdmVfdGVtcG9yYXJ5X21lbWJlcnNoaXAYCyABKAgSFAoMZnJlZV9jcmVkaXRzGAwgASgFEhUKDWV2ZW50X2NyZWRpdHMYDSABKAUSGAoQbWF4X3BhcnRpY2lwYW50cxgOIAEoBRI0Cg5wdWJsaXNoX3N0YXR1cxgPIAEoDjIcLmxpdmVfZXZlbnQudjEuUHVibGlzaFN0YXR1cxIYChBnaWZ0X2ludml0ZV9jb2RlGBAgASgFEhcKD2NvdW50cnlfZGlzcGxheRgRIAEoCRIUCgxjaXR5X2Rpc3BsYXkYEiABKAkiFQoTVXBkYXRlRXZlbnRSZXNwb25zZSJyChFMaXN0RXZlbnRzUmVxdWVzdBIQCghldmVudF9pZBgBIAEoCRIqCgZzdGF0dXMYAiABKA4yGi5saXZlX2V2ZW50LnYxLkV2ZW50U3RhdHVzEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFIk0KEkxpc3RFdmVudHNSZXNwb25zZRIoCgZldmVudHMYASADKAsyGC5saXZlX2V2ZW50LnYxLkV2ZW50SW5mbxINCgV0b3RhbBgCIAEoBSImChJEZWxldGVFdmVudFJlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkiJgoTRGVsZXRlRXZlbnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKF0dldEV2ZW50T3ZlcnZpZXdSZXF1ZXN0EhAKCGV2ZW50X2lkGAEgASgJIpoBChhHZXRFdmVudE92ZXJ2aWV3UmVzcG9uc2USGgoSdG90YWxfcGFydGljaXBhbnRzGAEgASgFEhYKDm5ld191c2VyX2NvdW50GAIgASgFEhsKE2V4aXN0aW5nX3VzZXJfY291bnQYAyABKAUSFQoNc2Vzc2lvbl9jb3VudBgEIAEoBRIWCg5jcmVkaXRzX2Nvc3RlZBgFIAEoBSJsChVMaXN0RXZlbnRVc2Vyc1JlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkSFAoHdXNlcl9pZBgCIAEoCUgAiAEBEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFQgoKCF91c2VyX2lkIlAKFkxpc3RFdmVudFVzZXJzUmVzcG9uc2USJwoFdXNlcnMYASADKAsyGC5saXZlX2V2ZW50LnYxLkV2ZW50VXNlchINCgV0b3RhbBgCIAEoBSKRAQoYTGlzdEV2ZW50U2Vzc2lvbnNSZXF1ZXN0EhAKCGV2ZW50X2lkGAEgASgJEhcKCnNlc3Npb25faWQYAiABKAlIAIgBARIMCgRwYWdlGAMgASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBRIRCgR1c2VyGAUgASgJSAGIAQFCDQoLX3Nlc3Npb25faWRCBwoFX3VzZXIiWQoZTGlzdEV2ZW50U2Vzc2lvbnNSZXNwb25zZRItCghzZXNzaW9ucxgBIAMoCzIbLmxpdmVfZXZlbnQudjEuRXZlbnRTZXNzaW9uEg0KBXRvdGFsGAIgASgFIp8FCglFdmVudEluZm8SCgoCaWQYASABKAUSEAoIZXZlbnRfaWQYAiABKAkSEgoKZXZlbnRfbmFtZRgDIAEoCRIMCgRob3N0GAQgASgJEi4KCnN0YXJ0X3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdjb3VudHJ5GAcgASgJEg4KBnJlZ2lvbhgIIAEoCRIPCgdhZGRyZXNzGAkgASgJEh8KF2FsbG93X2ZyZWVfcmVnaXN0cmF0aW9uGAogASgIEiEKGWdpdmVfdGVtcG9yYXJ5X21lbWJlcnNoaXAYCyABKAgSFAoMZnJlZV9jcmVkaXRzGAwgASgFEhUKDWV2ZW50X2NyZWRpdHMYDSABKAUSGAoQbWF4X3BhcnRpY2lwYW50cxgOIAEoBRIcChRjdXJyZW50X3BhcnRpY2lwYW50cxgPIAEoBRIqCgZzdGF0dXMYECABKA4yGi5saXZlX2V2ZW50LnYxLkV2ZW50U3RhdHVzEjQKDnB1Ymxpc2hfc3RhdHVzGBEgASgOMhwubGl2ZV9ldmVudC52MS5QdWJsaXNoU3RhdHVzEi4KCmNyZWF0ZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBnFyY29kZRgUIAEoCRIYChBnaWZ0X2ludml0ZV9jb2RlGBUgASgFEhcKD2NvdW50cnlfZGlzcGxheRgWIAEoCRIUCgxjaXR5X2Rpc3BsYXkYFyABKAkigAEKCUV2ZW50VXNlchIPCgd1c2VyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEhAKCHVzZXJuYW1lGAMgASgJEjEKDXJlZ2lzdGVyX3RpbWUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg4KBmlzX25ldxgFIAEoCCKdAQoMRXZlbnRTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSFgoOY3JlZGl0c19jb3N0ZWQYAyABKAUSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEQoJaXNfc2hhcmVkGAUgASgIEg8KB3VzZXJfaWQYBiABKAkqeAoLRXZlbnRTdGF0dXMSHAoYRVZFTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVRVZFTlRfU1RBVFVTX1VQQ09NSU5HEAESGAoURVZFTlRfU1RBVFVTX09OR09JTkcQAhIWChJFVkVOVF9TVEFUVVNfRU5ERUQQAzKmBQoVTGl2ZUV2ZW50QWRtaW5TZXJ2aWNlElYKC0NyZWF0ZUV2ZW50EiEubGl2ZV9ldmVudC52MS5DcmVhdGVFdmVudFJlcXVlc3QaIi5saXZlX2V2ZW50LnYxLkNyZWF0ZUV2ZW50UmVzcG9uc2UiABJWCgtVcGRhdGVFdmVudBIhLmxpdmVfZXZlbnQudjEuVXBkYXRlRXZlbnRSZXF1ZXN0GiIubGl2ZV9ldmVudC52MS5VcGRhdGVFdmVudFJlc3BvbnNlIgASUwoKTGlzdEV2ZW50cxIgLmxpdmVfZXZlbnQudjEuTGlzdEV2ZW50c1JlcXVlc3QaIS5saXZlX2V2ZW50LnYxLkxpc3RFdmVudHNSZXNwb25zZSIAElYKC0RlbGV0ZUV2ZW50EiEubGl2ZV9ldmVudC52MS5EZWxldGVFdmVudFJlcXVlc3QaIi5saXZlX2V2ZW50LnYxLkRlbGV0ZUV2ZW50UmVzcG9uc2UiABJlChBHZXRFdmVudE92ZXJ2aWV3EiYubGl2ZV9ldmVudC52MS5HZXRFdmVudE92ZXJ2aWV3UmVxdWVzdBonLmxpdmVfZXZlbnQudjEuR2V0RXZlbnRPdmVydmlld1Jlc3BvbnNlIgASXwoOTGlzdEV2ZW50VXNlcnMSJC5saXZlX2V2ZW50LnYxLkxpc3RFdmVudFVzZXJzUmVxdWVzdBolLmxpdmVfZXZlbnQudjEuTGlzdEV2ZW50VXNlcnNSZXNwb25zZSIAEmgKEUxpc3RFdmVudFNlc3Npb25zEicubGl2ZV9ldmVudC52MS5MaXN0RXZlbnRTZXNzaW9uc1JlcXVlc3QaKC5saXZlX2V2ZW50LnYxLkxpc3RFdmVudFNlc3Npb25zUmVzcG9uc2UiAELAAQoRY29tLmxpdmVfZXZlbnQudjFCE0xpdmVFdmVudEFkbWluUHJvdG9QAVpFZ2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L2xpdmVfZXZlbnQvdjE7bGl2ZV9ldmVudHYxogIDTFhYqgIMTGl2ZUV2ZW50LlYxygIMTGl2ZUV2ZW50XFYx4gIYTGl2ZUV2ZW50XFYxXEdQQk1ldGFkYXRh6gINTGl2ZUV2ZW50OjpWMWIGcHJvdG8z",[ee,Ms]),q2=M($2,0),e1=z("Ch5saXZlX2V2ZW50L3YxL2xpdmVfZXZlbnQucHJvdG8SDWxpdmVfZXZlbnQudjEiQQoVQ2hlY2tMaXZlRXZlbnRSZXF1ZXN0EhUKDWxpdmVfZXZlbnRfaWQYASABKAkSEQoJZGV2aWNlX2lkGAIgASgJIhgKFkNoZWNrTGl2ZUV2ZW50UmVzcG9uc2UycwoQTGl2ZUV2ZW50U2VydmljZRJfCg5DaGVja0xpdmVFdmVudBIkLmxpdmVfZXZlbnQudjEuQ2hlY2tMaXZlRXZlbnRSZXF1ZXN0GiUubGl2ZV9ldmVudC52MS5DaGVja0xpdmVFdmVudFJlc3BvbnNlIgBCuwEKEWNvbS5saXZlX2V2ZW50LnYxQg5MaXZlRXZlbnRQcm90b1ABWkVnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvbGl2ZV9ldmVudC92MTtsaXZlX2V2ZW50djGiAgNMWFiqAgxMaXZlRXZlbnQuVjHKAgxMaXZlRXZlbnRcVjHiAhhMaXZlRXZlbnRcVjFcR1BCTWV0YWRhdGHqAg1MaXZlRXZlbnQ6OlYxYgZwcm90bzM"),t1=M(e1,0),n1=z("CiVsaXZlX2V2ZW50L3YxL2xpdmVfZXZlbnRfcHVibGljLnByb3RvEg1saXZlX2V2ZW50LnYxIicKE0dldExpdmVFdmVudFJlcXVlc3QSEAoIZXZlbnRfaWQYASABKAkiqQMKFEdldExpdmVFdmVudFJlc3BvbnNlEhAKCGV2ZW50X2lkGAEgASgJEhIKCmV2ZW50X25hbWUYAiABKAkSDAoEaG9zdBgDIAEoCRIuCgpzdGFydF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHYWRkcmVzcxgGIAEoCRIfChdhbGxvd19mcmVlX3JlZ2lzdHJhdGlvbhgHIAEoCBIhChlnaXZlX3RlbXBvcmFyeV9tZW1iZXJzaGlwGAggASgIEhQKDGZyZWVfY3JlZGl0cxgJIAEoBRIVCg1ldmVudF9jcmVkaXRzGAogASgFEhgKEG1heF9wYXJ0aWNpcGFudHMYCyABKAUSNAoOcHVibGlzaF9zdGF0dXMYDCABKA4yHC5saXZlX2V2ZW50LnYxLlB1Ymxpc2hTdGF0dXMSFwoPY291bnRyeV9kaXNwbGF5GA0gASgJEhQKDGNpdHlfZGlzcGxheRgOIAEoCTJzChZMaXZlRXZlbnRQdWJsaWNTZXJ2aWNlElkKDEdldExpdmVFdmVudBIiLmxpdmVfZXZlbnQudjEuR2V0TGl2ZUV2ZW50UmVxdWVzdBojLmxpdmVfZXZlbnQudjEuR2V0TGl2ZUV2ZW50UmVzcG9uc2UiAELBAQoRY29tLmxpdmVfZXZlbnQudjFCFExpdmVFdmVudFB1YmxpY1Byb3RvUAFaRWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9saXZlX2V2ZW50L3YxO2xpdmVfZXZlbnR2MaICA0xYWKoCDExpdmVFdmVudC5WMcoCDExpdmVFdmVudFxWMeICGExpdmVFdmVudFxWMVxHUEJNZXRhZGF0YeoCDUxpdmVFdmVudDo6VjFiBnByb3RvMw",[ee,Ms]),i1=M(n1,0),Hs=z("Chd1c2VyL3YxL3VzZXJfYXV0aC5wcm90bxIHdXNlci52MSJDChVVcGRhdGVQYXNzd29yZFJlcXVlc3QSFAoMb2xkX3Bhc3N3b3JkGAEgASgJEhQKDG5ld19wYXNzd29yZBgCIAEoCSIYChZVcGRhdGVQYXNzd29yZFJlc3BvbnNlIg8KDUxvZ291dFJlcXVlc3QiEAoOTG9nb3V0UmVzcG9uc2UiKAoRRGVsZXRlVXNlclJlcXVlc3QSEwoLdmVyaWZ5X2NvZGUYASABKAkiFAoSRGVsZXRlVXNlclJlc3BvbnNlIk4KIlNlbmRFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlcXVlc3QSKAoGYWN0aW9uGAEgASgOMhgudXNlci52MS5TZW5kRW1haWxBY3Rpb24iJQojU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVzcG9uc2UiRQocUmVzZXRQYXNzd29yZFdpdGhBdXRoUmVxdWVzdBITCgt2ZXJpZnlfY29kZRgBIAEoCRIQCghwYXNzd29yZBgCIAEoCSIfCh1SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXNwb25zZSIdChtHZW5lcmF0ZVRlbXBBdXRoQ29kZVJlcXVlc3QiLQocR2VuZXJhdGVUZW1wQXV0aENvZGVSZXNwb25zZRINCgV0b2tlbhgBIAEoCSq8AQoPU2VuZEVtYWlsQWN0aW9uEiEKHVNFTkRfRU1BSUxfQUNUSU9OX1VOU1BFQ0lGSUVEEAASHgoaU0VORF9FTUFJTF9BQ1RJT05fUkVHSVNURVIQARIkCiBTRU5EX0VNQUlMX0FDVElPTl9SRVNFVF9QQVNTV09SRBACEhwKGFNFTkRfRU1BSUxfQUNUSU9OX0xPR09GRhADEiIKHlNFTkRfRU1BSUxfQUNUSU9OX0RJU01JU1NfVEVBTRAEMtoDCg9Vc2VyQXV0aFNlcnZpY2USOQoGTG9nb3V0EhYudXNlci52MS5Mb2dvdXRSZXF1ZXN0GhcudXNlci52MS5Mb2dvdXRSZXNwb25zZRJFCgpEZWxldGVVc2VyEhoudXNlci52MS5EZWxldGVVc2VyUmVxdWVzdBobLnVzZXIudjEuRGVsZXRlVXNlclJlc3BvbnNlEngKG1NlbmRFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aBIrLnVzZXIudjEuU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVxdWVzdBosLnVzZXIudjEuU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhBdXRoUmVzcG9uc2USZgoVUmVzZXRQYXNzd29yZFdpdGhBdXRoEiUudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXF1ZXN0GiYudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aEF1dGhSZXNwb25zZRJjChRHZW5lcmF0ZVRlbXBBdXRoQ29kZRIkLnVzZXIudjEuR2VuZXJhdGVUZW1wQXV0aENvZGVSZXF1ZXN0GiUudXNlci52MS5HZW5lcmF0ZVRlbXBBdXRoQ29kZVJlc3BvbnNlQpQBCgtjb20udXNlci52MUINVXNlckF1dGhQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z"),l1=M(Hs,0),Br=z("Chd1c2VyL3YxL3VzZXJfYmFzZS5wcm90bxIHdXNlci52MSqJAQoPTWFudXNWaXBWZXJzaW9uEiEKHU1BTlVTX1ZJUF9WRVJTSU9OX1VOU1BFQ0lGSUVEEAASGgoWTUFOVVNfVklQX1ZFUlNJT05fRlJFRRABEhwKGE1BTlVTX1ZJUF9WRVJTSU9OX0NBU1VBTBACEhkKFU1BTlVTX1ZJUF9WRVJTSU9OX1BSTxADKuUCChJJbnZpdGF0aW9uQ29kZUtpbmQSJAogSU5WSVRBVElPTl9DT0RFX0tJTkRfVU5TUEVDSUZJRUQQABIgChxJTlZJVEFUSU9OX0NPREVfS0lORF9CVUlMVElOEAESHQoZSU5WSVRBVElPTl9DT0RFX0tJTkRfVVNFUhACEiIKHklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfRk9STRADEiIKHklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfVVNFUhAEEiUKIUlOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfQ0hBTk5FTBAFEiYKIklOVklUQVRJT05fQ09ERV9LSU5EX0xJTktfV0FJVExJU1QQBhIkCiBJTlZJVEFUSU9OX0NPREVfS0lORF9GSVNTSU9OQUJMRRAHEisKJ0lOVklUQVRJT05fQ09ERV9LSU5EX0NBTVBVU19GSVNTSU9OQUJMRRAIKl4KC0Jsb2NrZWRUeXBlEhwKGEJMT0NLRURfVFlQRV9VTlNQRUNJRklFRBAAEhgKFEJMT0NLRURfVFlQRV9BQ0NPVU5UEAESFwoTQkxPQ0tFRF9UWVBFX1NIVVRVUBACKqYECg9CbG9ja1JlYXNvblR5cGUSIQodQkxPQ0tfUkVBU09OX1RZUEVfVU5TUEVDSUZJRUQQABIbChdCTE9DS19SRUFTT05fVFlQRV9PVEhFUhABEiEKHUJMT0NLX1JFQVNPTl9UWVBFX1BPUk5PR1JBUEhZEAISHgoaQkxPQ0tfUkVBU09OX1RZUEVfUE9MSVRJQ1MQAxIfChtCTE9DS19SRUFTT05fVFlQRV9URVJST1JJU00QBBIbChdCTE9DS19SRUFTT05fVFlQRV9EUlVHUxAFEiMKH0JMT0NLX1JFQVNPTl9UWVBFX0FUVEFDS19TWVNURU0QBhIhCh1CTE9DS19SRUFTT05fVFlQRV9SRVBPUlRfTUFOWRAHEiIKHkJMT0NLX1JFQVNPTl9UWVBFX1NFTExfQUNDT1VOVBAIEhsKF0JMT0NLX1JFQVNPTl9UWVBFX0ZSQVVEEAkSGgoWQkxPQ0tfUkVBU09OX1RZUEVfU1BBTRAKEiQKIEJMT0NLX1JFQVNPTl9UWVBFX0lMTEVHQUxfUkVHSU9OEAsSJwojQkxPQ0tfUkVBU09OX1RZUEVfSUxMRUdBTF9USU1FX1pPTkUQDBIgChxCTE9DS19SRUFTT05fVFlQRV9JTExFR0FMX1VBEA0SIAocQkxPQ0tfUkVBU09OX1RZUEVfSUxMRUdBTF9JUBAOEhoKFkJMT0NLX1JFQVNPTl9UWVBFX1JJU0sQDyqmAwoOTGlzdFJlY29yZFR5cGUSIAocTElTVF9SRUNPUkRfVFlQRV9VTlNQRUNJRklFRBAAEhkKFUxJU1RfUkVDT1JEX1RZUEVfR0lGVBABEhsKF0xJU1RfUkVDT1JEX1RZUEVfREVEVUNUEAISGwoXTElTVF9SRUNPUkRfVFlQRV9DSEFSR0UQAxIhCh1MSVNUX1JFQ09SRF9UWVBFX1VTRVJfRElTUExBWRAEEiIKHkxJU1RfUkVDT1JEX1RZUEVfQURNSU5fRElTUExBWRAFEhkKFUxJU1RfUkVDT1JEX1RZUEVfQ09TVBAGEh0KGUxJU1RfUkVDT1JEX1RZUEVfUk9MTEJBQ0sQBxIeChpMSVNUX1JFQ09SRF9UWVBFX1JBVEVfR0lGVBAIEhsKF0xJU1RfUkVDT1JEX1RZUEVfUkVGVU5EEAkSIAocTElTVF9SRUNPUkRfVFlQRV9JTlZJVEVfR0lGVBAKEh8KG0xJU1RfUkVDT1JEX1RZUEVfTElWRV9FVkVOVBALEhwKGExJU1RfUkVDT1JEX1RZUEVfUkVGUkVTSBAMKqABCgpDcmVkaXRUeXBlEhsKF0NSRURJVF9UWVBFX1VOU1BFQ0lGSUVEEAASFAoQQ1JFRElUX1RZUEVfRlJFRRABEhgKFENSRURJVF9UWVBFX1BFUklPRElDEAISFQoRQ1JFRElUX1RZUEVfQURET04QAxIVChFDUkVESVRfVFlQRV9FVkVOVBAEEhcKE0NSRURJVF9UWVBFX1JFRlJFU0gQBSrzAgoNQ3JlZGl0TG9nVHlwZRIfChtDUkVESVRfTE9HX1RZUEVfVU5TUEVDSUZJRUQQABIYChRDUkVESVRfTE9HX1RZUEVfQ09TVBABEhwKGENSRURJVF9MT0dfVFlQRV9ST0xMQkFDSxACEiQKIENSRURJVF9MT0dfVFlQRV9TVUJTQ1JJQkVfQ0FTVUFMEAMSIQodQ1JFRElUX0xPR19UWVBFX1NVQlNDUklCRV9QUk8QBBIfChtDUkVESVRfTE9HX1RZUEVfVVBHUkFERV9QUk8QBRIeChpDUkVESVRfTE9HX1RZUEVfQURET05fMTkwMBAGEh4KGkNSRURJVF9MT0dfVFlQRV9BRERPTl85OTAwEAcSHQoZQ1JFRElUX0xPR19UWVBFX0FETUlOX0FERBAIEiAKHENSRURJVF9MT0dfVFlQRV9BRE1JTl9ERURVQ1QQCRIeChpDUkVESVRfTE9HX1RZUEVfQ1JFRElUX0FMTBAKKkYKDEFjdGl2aXR5VHlwZRIdChlBQ1RJVklUWV9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTQUNUSVZJVFlfVFlQRV9QRVJLUxABKlUKDFVzZXJUeXBlRW51bRIZChVVU0VSX1RZUEVfVU5TUEVDSUZJRUQQABIWChJVU0VSX1RZUEVfUEVSU09OQUwQARISCg5VU0VSX1RZUEVfVEVBTRACQpQBCgtjb20udXNlci52MUINVXNlckJhc2VQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z"),r1=z("Chh1c2VyL3YxL3VzZXJfYWRtaW4ucHJvdG8SB3VzZXIudjEiiQEKIkxvb3BVcGRhdGVVc2VyQ3JlZGl0U3RhdHVzUmVzcG9uc2USDQoFY291bnQYASABKAUSDQoFdG90YWwYAiABKAUSLwoGc3RhdHVzGAMgASgOMh8udXNlci52MS5VcGRhdGVVc2VyQ3JlZGl0U3RhdHVzEhQKDGZhaWxlZF91c2VycxgEIAMoCSI0CiFMb29wVXBkYXRlVXNlckNyZWRpdFN0YXR1c1JlcXVlc3QSDwoHdGFza19pZBgBIAEoCSJJChVMaXN0VXNlclZpcExvZ1JlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCRIMCgRwYWdlGAIgASgFEhEKCXBhZ2Vfc2l6ZRgDIAEoBSJGChZMaXN0VXNlclZpcExvZ1Jlc3BvbnNlEh0KBGxvZ3MYASADKAsyDy51c2VyLnYxLlZpcExvZxINCgV0b3RhbBgCIAEoBSJ6CgZWaXBMb2cSDwoHdXNlcl9pZBgBIAEoCRITCgt2aXBfdmVyc2lvbhgCIAEoCRIUCgxwZXJpb2Rfc3RhcnQYAyABKAUSEgoKcGVyaW9kX2VuZBgEIAEoBRIQCghvcGVyYXRvchgFIAEoCRIOCgZyZWFzb24YBiABKAkicgoEVXNlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhMKC3ZpcF92ZXJzaW9uGAQgASgJEhoKEmN1cnJlbnRfcGVyaW9kX2VuZBgFIAEoAxIQCghpc190cmlhbBgGIAEoCCI/ChBMaXN0VXNlclJlc3BvbnNlEhwKBXVzZXJzGAEgAygLMg0udXNlci52MS5Vc2VyEg0KBXRvdGFsGAIgASgFIkMKD0xpc3RVc2VyUmVxdWVzdBIPCgd1c2VyX2lkGAEgASgJEgwKBHBhZ2UYAiABKAUSEQoJcGFnZV9zaXplGAMgASgFIhYKFEFkbWluR2lmdFZpcFJlc3BvbnNlIoEBChNBZG1pbkdpZnRWaXBSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSLQoLdmlwX3ZlcnNpb24YAiABKA4yGC51c2VyLnYxLk1hbnVzVmlwVmVyc2lvbhIaChJjdXJyZW50X3BlcmlvZF9lbmQYAyABKAMSDgoGcmVhc29uGAQgASgJIjcKFEdldFVzZXJRdW90YVJlc3BvbnNlEhIKCmxlZnRfcXVvdGEYASABKAUSCwoDdHRsGAIgASgDIiYKE0dldFVzZXJRdW90YVJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSJZChxMaXN0VXNlckNyZWRpdFJlY29yZFJlc3BvbnNlEioKB3JlY29yZHMYASADKAsyGS51c2VyLnYxLlVzZXJDcmVkaXRSZWNvcmQSDQoFdG90YWwYAiABKAUi4wIKEFVzZXJDcmVkaXRSZWNvcmQSDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB2NyZWRpdHMYBSABKAUSKAoLY3JlZGl0X3R5cGUYBiABKA4yEy51c2VyLnYxLkNyZWRpdFR5cGUSDQoFZW1haWwYByABKAkSEAoIb3BlcmF0b3IYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKgoEdHlwZRgKIAEoDjIcLnVzZXIudjEuVXBkYXRlQ3JlZGl0T3BlcmF0ZRIOCgZyZWFzb24YCyABKAkSFAoMc2Vzc2lvblRpdGxlGAwgASgJEhEKCXNlc3Npb25JZBgNIAEoCRIfChdzeXN0ZW1fcm9sbGJhY2tfY3JlZGl0cxgOIAEoBRIeChZhZG1pbl9yb2xsYmFja19jcmVkaXRzGA8gASgFIpQBChtMaXN0VXNlckNyZWRpdFJlY29yZFJlcXVlc3QSFAoHdXNlcl9pZBgBIAEoCUgAiAEBEjIKDHJlY29yZF90eXBlcxgCIAMoDjIcLnVzZXIudjEuVXBkYXRlQ3JlZGl0T3BlcmF0ZRIMCgRwYWdlGAMgASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBUIKCghfdXNlcl9pZCI4ChhVcGRhdGVVc2VyQ3JlZGl0UmVzcG9uc2USCwoDbXNnGAEgASgJEg8KB3Rhc2tfaWQYAiABKAkiuwEKF1VwZGF0ZVVzZXJDcmVkaXRSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAkSDwoHY3JlZGl0cxgCIAEoBRIhCgR0eXBlGAMgASgOMhMudXNlci52MS5DcmVkaXRUeXBlEg4KBnJlYXNvbhgEIAEoCRItCgdvcGVyYXRlGAUgASgOMhwudXNlci52MS5VcGRhdGVDcmVkaXRPcGVyYXRlEg0KBXVzZXJzGAYgAygJEg0KBWVtYWlsGAsgASgJIlYKFkxpc3RVc2VyQ3JlZGl0UmVzcG9uc2USLQoMdXNlcl9jcmVkaXRzGAEgAygLMhcudXNlci52MS5Vc2VyQ3JlZGl0SW5mbxINCgV0b3RhbBgCIAEoBSLKAQoOVXNlckNyZWRpdEluZm8SDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEhQKDGZyZWVfY3JlZGl0cxgDIAEoBRIYChBwZXJpb2RpY19jcmVkaXRzGAQgASgFEhUKDWFkZG9uX2NyZWRpdHMYBSABKAUSFQoNdG90YWxfY3JlZGl0cxgGIAEoBRINCgVlbWFpbBgHIAEoCRITCgt2aXBfdmVyc2lvbhgIIAEoCRIXCg9yZWZyZXNoX2NyZWRpdHMYCSABKAUiewoVTGlzdFVzZXJDcmVkaXRSZXF1ZXN0EhQKB3VzZXJfaWQYASABKAlIAIgBARIRCgRwYWdlGAIgASgFSAGIAQESFgoJcGFnZV9zaXplGAMgASgFSAKIAQFCCgoIX3VzZXJfaWRCBwoFX3BhZ2VCDAoKX3BhZ2Vfc2l6ZSK6AgobQ3JlYXRlSW52aXRhdGlvbkNvZGVSZXF1ZXN0Ei4KBGtpbmQYASABKA4yGy51c2VyLnYxLkludml0YXRpb25Db2RlS2luZEgAiAEBEhAKCG1heF91c2VzGAIgASgFEhgKBWNvdW50GAMgASgFQgm6SAYaBBhkKAESGQoFdXNlcnMYBCADKAlCCrpIB5IBBBDQhgMSFAoDdGFnGAUgASgJQge6SARyAhhAEiMKC2ludml0ZV9jb2RlGAYgASgJQgm6SAZyBBAGGCBIAYgBARIOCgZyZW1hcmsYCCABKAkSHgoNZmlzc2lvbl9jb3VudBgJIAEoBUIHukgEGgIYZBIUCgdjcmVkaXRzGAogASgFSAKIAQFCBwoFX2tpbmRCDgoMX2ludml0ZV9jb2RlQgoKCF9jcmVkaXRzIlUKHENyZWF0ZUludml0YXRpb25Db2RlUmVzcG9uc2USNQoQaW52aXRhdGlvbl9jb2RlcxgBIAMoCzIbLnVzZXIudjEuSW52aXRhdGlvbkNvZGVJbmZvIrYCChJJbnZpdGF0aW9uQ29kZUluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRITCgtpbnZpdGVfY29kZRgDIAEoCRIpCgRraW5kGAQgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSFAoMaXNfYWN0aXZhdGVkGAUgASgIEhAKCG1heF91c2VzGAYgASgFEhIKCnVzZWRfY291bnQYByABKAUSEgoKY3JlYXRlZF9ieRgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBILCgN0YWcYCiABKAkSDgoGcmVtYXJrGAsgASgJEhUKDWZpc3Npb25fY291bnQYDCABKAUSDwoHY3JlZGl0cxgNIAEoBSKwAQoaTGlzdEludml0YXRpb25Db2Rlc1JlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIgABIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQgABIqCgVraW5kcxgDIAMoDjIbLnVzZXIudjEuSW52aXRhdGlvbkNvZGVLaW5kEg8KB3VzZXJfaWQYBCABKAkSEwoLaW52aXRlX2NvZGUYBSABKAkSCwoDdGFnGAYgASgJImMKG0xpc3RJbnZpdGF0aW9uQ29kZXNSZXNwb25zZRI1ChBpbnZpdGF0aW9uX2NvZGVzGAEgAygLMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUluZm8SDQoFdG90YWwYAiABKAMiNwodR2V0SW52aXRhdGlvbkNvZGVVc2FnZVJlcXVlc3QSFgoOaW52aXRlX2NvZGVfaWQYAiABKAMikQEKFkludml0YXRpb25SZWxhdGlvbkluZm8SCgoCaWQYASABKAMSEgoKaW52aXRlcl9pZBgCIAEoCRISCgppbnZpdGVlX2lkGAMgASgJEhMKC2ludml0ZV9jb2RlGAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIooBCh5HZXRJbnZpdGF0aW9uQ29kZVVzYWdlUmVzcG9uc2USNAoPaW52aXRhdGlvbl9jb2RlGAEgASgLMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUluZm8SMgoJcmVsYXRpb25zGAIgAygLMh8udXNlci52MS5JbnZpdGF0aW9uUmVsYXRpb25JbmZvItwCChtVcGRhdGVJbnZpdGF0aW9uQ29kZVJlcXVlc3QSMgoGc3RhdHVzGAIgASgOMh0udXNlci52MS5JbnZpdGF0aW9uQ29kZVN0YXR1c0gAiAEBEiIKCG1heF91c2VzGAMgASgFQgu6SAgaBhigjQYoAEgBiAEBEhYKDmludml0ZV9jb2RlX2lkGAQgASgDEg4KBnJlbWFyaxgFIAEoCRIlCg1maXNzaW9uX2NvdW50GAYgASgFQgm6SAYaBBhkIABIAogBARIuCgRraW5kGAcgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmRIA4gBARIUCgdjcmVkaXRzGAggASgFSASIAQFCCQoHX3N0YXR1c0ILCglfbWF4X3VzZXNCEAoOX2Zpc3Npb25fY291bnRCBwoFX2tpbmRCCgoIX2NyZWRpdHNKBAgBEAJSC2ludml0ZV9jb2RlIh4KHFVwZGF0ZUludml0YXRpb25Db2RlUmVzcG9uc2UizAIKHkdldEludml0YXRpb25TdGF0aXN0aWNzUmVxdWVzdBIuCgpzdGFydF90aW1lGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoMaW52aXRlX2NvZGVzGAMgAygJEkwKC2dyYW51bGFyaXR5GAQgASgOMjcudXNlci52MS5HZXRJbnZpdGF0aW9uU3RhdGlzdGljc1JlcXVlc3QuVGltZUdyYW51bGFyaXR5ImgKD1RpbWVHcmFudWxhcml0eRIgChxUSU1FX0dSQU5VTEFSSVRZX1VOU1BFQ0lGSUVEEAASGAoUVElNRV9HUkFOVUxBUklUWV9EQVkQARIZChVUSU1FX0dSQU5VTEFSSVRZX0hPVVIQAiLMAQoUSW52aXRhdGlvblN0YXRpc3RpY3MSEwoLdG90YWxfY29kZXMYASABKAMSEgoKdXNlZF9jb2RlcxgCIAEoAxIUCgx1bnVzZWRfY29kZXMYAyABKAMSFgoOdG90YWxfaW52aXRlZXMYBCABKAMSMQoLZGFpbHlfc3RhdHMYBSADKAsyHC51c2VyLnYxLkRhaWx5SW52aXRhdGlvblN0YXQSKgoMdG9wX2ludml0ZXJzGAYgAygLMhQudXNlci52MS5JbnZpdGVyU3RhdCJrChNEYWlseUludml0YXRpb25TdGF0EgwKBGRhdGUYASABKAkSFQoNaW52aXRlZV9jb3VudBgCIAEoBRIaChJjb2RlX2NyZWF0ZWRfY291bnQYAyABKAUSEwoLaW52aXRlX2NvZGUYBCABKAkiSgoLSW52aXRlclN0YXQSEgoKaW52aXRlcl9pZBgBIAEoCRIQCghuaWNrbmFtZRgCIAEoCRIVCg1pbnZpdGVlX2NvdW50GAMgASgFIlQKH0dldEludml0YXRpb25TdGF0aXN0aWNzUmVzcG9uc2USMQoKc3RhdGlzdGljcxgBIAEoCzIdLnVzZXIudjEuSW52aXRhdGlvblN0YXRpc3RpY3MimwQKDFdhaXRsaXN0SW5mbxIKCgJpZBgBIAEoAxIUCgxjb250YWN0X3R5cGUYAiABKAkSFQoNY29udGFjdF92YWx1ZRgDIAEoCRIOCgZyZWFzb24YBCABKAkSKwoKZXh0cmFfZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGc3RhdHVzGAYgASgOMhcudXNlci52MS5XYWl0bGlzdFN0YXR1cxIPCgd1c2VyX2lkGAcgASgJEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FwcHJvdmVfdXNlcl9pZBgKIAEoCRITCgtjb3VudHJ5X2lzbxgLIAEoCRIvCgthcHByb3ZlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKd29ya19lbWFpbBgNIAEoCRISCgpwcm9mZXNzaW9uGA4gASgJEhwKFHNvY2lhbF9tZWRpYV9hY2NvdW50GA8gASgJEhAKCGluZHVzdHJ5GBAgASgJEhcKD2ludml0YXRpb25fY29kZRgRIAEoCRIRCgl0aW1lX3pvbmUYEiABKAkSGAoQdGltZV96b25lX29mZnNldBgTIAEoCSKAAwoTTGlzdFdhaXRsaXN0UmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEiwKBnN0YXR1cxgDIAEoDjIXLnVzZXIudjEuV2FpdGxpc3RTdGF0dXNIAIgBARIVCg1jb250YWN0X3ZhbHVlGAQgASgJEhUKDWxhbmd1YWdlX2xpc3QYBSADKAkSIAoTZXhjbHVkZV96aF9jbl91c2VycxgGIAEoCEgBiAEBEhkKEWVtYWlsX2RvbWFpbl9saXN0GAcgAygJEhgKEGNvdW50cnlfaXNvX2xpc3QYCCADKAkSHgoWd29ya19lbWFpbF9kb21haW5fbGlzdBgJIAMoCRIjChZleGNsdWRlX2NoaW5lc2VfcmVhc29uGAogASgISAKIAQFCCQoHX3N0YXR1c0IWChRfZXhjbHVkZV96aF9jbl91c2Vyc0IZChdfZXhjbHVkZV9jaGluZXNlX3JlYXNvbiJUChRMaXN0V2FpdGxpc3RSZXNwb25zZRItCg53YWl0bGlzdF9pdGVtcxgBIAMoCzIVLnVzZXIudjEuV2FpdGxpc3RJbmZvEg0KBXRvdGFsGAIgASgDInIKG1VwZGF0ZVdhaXRsaXN0U3RhdHVzUmVxdWVzdBIzCgZzdGF0dXMYAiABKA4yFy51c2VyLnYxLldhaXRsaXN0U3RhdHVzQgq6SAeCAQQQASAAEh4KDHdhaXRsaXN0X2lkcxgDIAMoA0IIukgFkgECEGQiHgocVXBkYXRlV2FpdGxpc3RTdGF0dXNSZXNwb25zZSI5ChNHZXRBZG1pbkluZm9SZXF1ZXN0EhUKCGFkbWluX2lkGAEgASgJSACIAQFCCwoJX2FkbWluX2lkIpgCCglBZG1pbkluZm8SDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhEKCXJvbGVfa2V5cxgEIAMoCRIOCgZhdmF0YXIYBSABKAkSMwoPbGFzdF9sb2dpbl90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCgpleHRyYV9kYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgtwZXJtaXNzaW9ucxgJIAMoCzITLnVzZXIudjEuUGVybWlzc2lvbiKqAQoKUGVybWlzc2lvbhImCgRyb2xlGAEgASgOMhgudXNlci52MS5QZXJtaXNzaW9uLlJvbGUSFAoMcHJvZHVjdF9uYW1lGAIgASgJEg4KBm1vZHVsZRgDIAEoCSJOCgRSb2xlEhQKEFJPTEVfVU5TUEVDSUZJRUQQABIOCgpST0xFX0FETUlOEAESDwoLUk9MRV9FRElUT1IQAhIPCgtST0xFX1ZJRVdFUhADIj4KFEdldEFkbWluSW5mb1Jlc3BvbnNlEiYKCmFkbWluX2luZm8YASABKAsyEi51c2VyLnYxLkFkbWluSW5mbyKmAQoMV2FpdGxpc3RSdWxlEicKBHR5cGUYASABKA4yGS51c2VyLnYxLldhaXRsaXN0UnVsZVR5cGUSFQoNc3RyaW5nX3ZhbHVlcxgCIAMoCRIRCglpbnRfdmFsdWUYAyABKAUSLgoKdGltZV92YWx1ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZmxvYXRfdmFsdWUYBSABKAEirwIKHUNyZWF0ZVdhaXRsaXN0QXV0b1Rhc2tSZXF1ZXN0Eg8KAmlkGAEgASgDSACIAQESFwoEbmFtZRgCIAEoCUIJukgGcgQQARhAEiQKBXJ1bGVzGAMgAygLMhUudXNlci52MS5XYWl0bGlzdFJ1bGUSKwoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb24SLwoGc3RhdHVzGAUgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzEhUKDWFwcHJvdmFsX3JhdGUYBiABKAUSIQoZYXBwcm92YWxfaW50ZXJ2YWxfbWludXRlcxgHIAEoBRIfChdvcmRlcl9ieV9jcmVhdGVkX2F0X2FzYxgIIAEoCEIFCgNfaWQiLAoeQ3JlYXRlV2FpdGxpc3RBdXRvVGFza1Jlc3BvbnNlEgoKAmlkGAEgASgDIpwDChRXYWl0bGlzdEF1dG9UYXNrSW5mbxIKCgJpZBgBIAEoAxIMCgRuYW1lGAIgASgJEiQKBXJ1bGVzGAMgAygLMhUudXNlci52MS5XYWl0bGlzdFJ1bGUSKwoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb24SLwoGc3RhdHVzGAUgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzEhUKDWFwcHJvdmFsX3JhdGUYBiABKAUSIQoZYXBwcm92YWxfaW50ZXJ2YWxfbWludXRlcxgHIAEoBRISCgpjcmVhdGVkX2J5GAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD3Byb2Nlc3NlZF9jb3VudBgLIAEoAxIfChdvcmRlcl9ieV9jcmVhdGVkX2F0X2FzYxgMIAEoCCLQAQobTGlzdFdhaXRsaXN0QXV0b1Rhc2tSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESNAoGc3RhdHVzGAMgASgOMh8udXNlci52MS5XYWl0bGlzdEF1dG9UYXNrU3RhdHVzSACIAQESMAoGYWN0aW9uGAQgASgOMhsudXNlci52MS5XYWl0bGlzdEF1dG9BY3Rpb25IAYgBAUIJCgdfc3RhdHVzQgkKB19hY3Rpb24iWwocTGlzdFdhaXRsaXN0QXV0b1Rhc2tSZXNwb25zZRIsCgV0YXNrcxgBIAMoCzIdLnVzZXIudjEuV2FpdGxpc3RBdXRvVGFza0luZm8SDQoFdG90YWwYAiABKAMiwwIKEVF1ZXN0aW9ubmFpcmVJbmZvEgoKAmlkGAEgASgDEg8KB3VzZXJfaWQYAiABKAkSDQoFZW1haWwYAyABKAkSDgoGcmVhc29uGAQgASgJEhIKCnByb2Zlc3Npb24YBSABKAkSHAoUc29jaWFsX21lZGlhX2FjY291bnQYBiABKAkSEAoIaW5kdXN0cnkYByABKAkSDAoEbmFtZRgIIAEoCRITCgtjb3VudHJ5X2lzbxgJIAEoCRIrCgpleHRyYV9kYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKVAgoYTGlzdFF1ZXN0aW9ubmFpcmVSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESFAoHdXNlcl9pZBgDIAEoCUgAiAEBEhIKBWVtYWlsGAQgASgJSAGIAQESGQoRZW1haWxfZG9tYWluX2xpc3QYBSADKAkSFQoNbGFuZ3VhZ2VfbGlzdBgGIAMoCRIgChNleGNsdWRlX3poX2NuX3VzZXJzGAcgASgISAKIAQESGAoQY291bnRyeV9pc29fbGlzdBgIIAMoCUIKCghfdXNlcl9pZEIICgZfZW1haWxCFgoUX2V4Y2x1ZGVfemhfY25fdXNlcnMiVQoZTGlzdFF1ZXN0aW9ubmFpcmVSZXNwb25zZRIpCgVpdGVtcxgBIAMoCzIaLnVzZXIudjEuUXVlc3Rpb25uYWlyZUluZm8SDQoFdG90YWwYAiABKAMiHgocR2V0U3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdCK7AQodR2V0U3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USCgoCaWQYASABKAUSDwoHdmVyc2lvbhgCIAEoBRITCgthbGxvd19jbG9zZRgDIAEoCBIsCghzdGFydF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKgoGZW5kX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZlbmFibGUYBiABKAgioQIKH1VwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QSDwoCaWQYASABKAVIAIgBARIUCgd2ZXJzaW9uGAIgASgFSAGIAQESGAoLYWxsb3dfY2xvc2UYAyABKAhIAogBARIxCghzdGFydF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBARIvCgZlbmRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESEwoGZW5hYmxlGAYgASgISAWIAQFCBQoDX2lkQgoKCF92ZXJzaW9uQg4KDF9hbGxvd19jbG9zZUILCglfc3RhcnRfYXRCCQoHX2VuZF9hdEIJCgdfZW5hYmxlIiIKIFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlIhsKGUdldFBheW1lbnRTZXR0aW5nc1JlcXVlc3QiOAoaR2V0UGF5bWVudFNldHRpbmdzUmVzcG9uc2USGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIIjoKHFVwZGF0ZVBheW1lbnRTZXR0aW5nc1JlcXVlc3QSGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIIh8KHVVwZGF0ZVBheW1lbnRTZXR0aW5nc1Jlc3BvbnNlIhoKGEdldENOVGltZVpvbmVMaXN0UmVxdWVzdCJSChlHZXRDTlRpbWVab25lTGlzdFJlc3BvbnNlEhoKEmRlZmF1bHRfdGltZV96b25lcxgBIAMoCRIZChFlZGl0ZWRfdGltZV96b25lcxgCIAMoCSIxChtVcGRhdGVDTlRpbWVab25lTGlzdFJlcXVlc3QSEgoKdGltZV96b25lcxgBIAMoCSIeChxVcGRhdGVDTlRpbWVab25lTGlzdFJlc3BvbnNlIkIKHUJhbkludml0YXRpb25Db2Rlc0J5SVBSZXF1ZXN0EiEKDGlwX2FkZHJlc3NlcxgBIAMoCUILukgIkgEFCAEQ6AciTAoeQmFuSW52aXRhdGlvbkNvZGVzQnlJUFJlc3BvbnNlEhQKDGJhbm5lZF9jb2RlcxgBIAMoCRIUCgxiYW5uZWRfY291bnQYAiABKAUiFwoVR2V0SVBCbGFja2xpc3RSZXF1ZXN0Ii4KFkdldElQQmxhY2tsaXN0UmVzcG9uc2USFAoMaXBfYWRkcmVzc2VzGAEgAygJIjsKGFVwZGF0ZUlQQmxhY2tsaXN0UmVxdWVzdBIfCgxpcF9hZGRyZXNzZXMYASADKAlCCbpIBpIBAxDoByIbChlVcGRhdGVJUEJsYWNrbGlzdFJlc3BvbnNlIvwCCg9CbG9ja2VkVXNlckluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSDQoFZW1haWwYBCABKAkSFwoPYXBwcm92ZV91c2VyX2lkGAUgASgJEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEioKDGJsb2NrZWRfdHlwZRgIIAEoDjIULnVzZXIudjEuQmxvY2tlZFR5cGUSMwoRYmxvY2tfcmVhc29uX3R5cGUYCSABKA4yGC51c2VyLnYxLkJsb2NrUmVhc29uVHlwZRImCgZzdGF0dXMYCiABKA4yFi51c2VyLnYxLkJsb2NrZWRTdGF0dXMSKwoKZXh0cmFfZGF0YRgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi5QEKIENyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXF1ZXN0EhgKBXVzZXJzGAEgAygJQgm6SAaSAQMQiCcSJgoGc3RhdHVzGAIgASgOMhYudXNlci52MS5CbG9ja2VkU3RhdHVzEhMKBnJlYXNvbhgDIAEoCUgAiAEBEioKDGJsb2NrZWRfdHlwZRgEIAEoDjIULnVzZXIudjEuQmxvY2tlZFR5cGUSMwoRYmxvY2tfcmVhc29uX3R5cGUYBSABKA4yGC51c2VyLnYxLkJsb2NrUmVhc29uVHlwZUIJCgdfcmVhc29uIkkKIUNyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXNwb25zZRIVCg1zdWNjZXNzX3VzZXJzGAEgAygJEg0KBXRvdGFsGAIgASgFIqgBChdMaXN0QmxvY2tlZFVzZXJzUmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEhQKB3VzZXJfaWQYAyABKAlIAIgBARIrCgZzdGF0dXMYBCABKA4yFi51c2VyLnYxLkJsb2NrZWRTdGF0dXNIAYgBAUIKCghfdXNlcl9pZEIJCgdfc3RhdHVzIloKGExpc3RCbG9ja2VkVXNlcnNSZXNwb25zZRIvCg1ibG9ja2VkX3VzZXJzGAEgAygLMhgudXNlci52MS5CbG9ja2VkVXNlckluZm8SDQoFdG90YWwYAiABKAMiKgoXQWRtaW5HZXRVc2VySW5mb1JlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSKOAwoYQWRtaW5HZXRVc2VySW5mb1Jlc3BvbnNlEg8KB3VzZXJfaWQYASABKAkSDQoFZW1haWwYAiABKAkSEQoJZmlyc3RuYW1lGAMgASgJEhAKCGxhc3RuYW1lGAQgASgJEhMKC2Rpc3BsYXluYW1lGAUgASgJEhAKCG5pY2tuYW1lGAYgASgJEg4KBmF2YXRhchgHIAEoCRIQCghpc19hbHBoYRgIIAEoCBITCgtpbl93YWl0bGlzdBgJIAEoCBITCgt2aXBfdmVyc2lvbhgKIAEoCRIUCgx2aXBfaW50ZXJ2YWwYCyABKAkSGgoSY3VycmVudF9wZXJpb2RfZW5kGAwgASgDEhwKFGNhbmNlbF9hdF9wZXJpb2RfZW5kGA0gASgIEg8KB2lzX2JldGEYDiABKAgSGAoQcGF5bWVudF9wbGF0Zm9ybRgPIAEoCRILCgN1aWQYECABKAkSGwoTY29uY3VycmVudF9zZXNzaW9ucxgRIAEoBRIVCg1wbGF0Zm9ybV9saXN0GBIgAygJIkoKGkdldFVzZXJMb2dvZmZTdGF0dXNSZXF1ZXN0EgsKA2lkcxgBIAMoCRIMCgRwYWdlGAIgASgFEhEKCXBhZ2Vfc2l6ZRgDIAEoBSKBAQoQVXNlckxvZ29mZlN0YXR1cxIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIjCgZzdGF0dXMYAyABKA4yEy51c2VyLnYxLlVzZXJTdGF0dXMSLQoJdXBkYXRlX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWChtHZXRVc2VyTG9nb2ZmU3RhdHVzUmVzcG9uc2USKAoFdXNlcnMYASADKAsyGS51c2VyLnYxLlVzZXJMb2dvZmZTdGF0dXMSDQoFdG90YWwYAiABKAUibQouQmF0Y2hBZGRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUSDQoFdXNlcnMYAiADKAkiXgovQmF0Y2hBZGRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVzcG9uc2USFgoOYWRkZWRfdXNlcl9pZHMYASADKAkSEwoLYWRkZWRfY291bnQYAiABKAUi9AEKEFJpc2tJbnRlbGxpZ2VuY2USCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRIxCgppbnRlbF90eXBlGAMgASgOMh0udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlVHlwZRISCgppbnRlbF9kYXRhGAQgASgJEi8KBnN0YXR1cxgFIAEoDjIfLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVN0YXR1cxIOCgZzb3VyY2UYBiABKAkSCwoDdGFnGAcgASgJEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrEBChpBZGRSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBIxCgppbnRlbF90eXBlGAEgASgOMh0udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlVHlwZRISCgppbnRlbF9kYXRhGAIgAygJEi8KBnN0YXR1cxgDIAEoDjIfLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVN0YXR1cxIOCgZzb3VyY2UYBCABKAkSCwoDdGFnGAUgASgJIh0KG0FkZFJpc2tJbnRlbGxpZ2VuY2VSZXNwb25zZSLeAgobTGlzdFJpc2tJbnRlbGxpZ2VuY2VSZXF1ZXN0EjYKCmludGVsX3R5cGUYASABKA4yHS51c2VyLnYxLlJpc2tJbnRlbGxpZ2VuY2VUeXBlSACIAQESNAoGc3RhdHVzGAIgASgOMh8udXNlci52MS5SaXNrSW50ZWxsaWdlbmNlU3RhdHVzSAGIAQESEwoGc291cmNlGAMgASgJSAKIAQESFAoHdXNlcl9pZBgEIAEoCUgDiAEBEhAKA3RhZxgFIAEoCUgEiAEBEhcKCmludGVsX2RhdGEYBiABKAlIBYgBARIVCgRwYWdlGAcgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgIIAEoBUIJukgGGgQYZCgBQg0KC19pbnRlbF90eXBlQgkKB19zdGF0dXNCCQoHX3NvdXJjZUIKCghfdXNlcl9pZEIGCgRfdGFnQg0KC19pbnRlbF9kYXRhIl4KHExpc3RSaXNrSW50ZWxsaWdlbmNlUmVzcG9uc2USLwoMaW50ZWxsaWdlbmNlGAEgAygLMhkudXNlci52MS5SaXNrSW50ZWxsaWdlbmNlEg0KBXRvdGFsGAIgASgFIqUCCh1VcGRhdGVSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBIKCgJpZBgBIAEoAxI0CgZzdGF0dXMYAiABKA4yHy51c2VyLnYxLlJpc2tJbnRlbGxpZ2VuY2VTdGF0dXNIAIgBARIQCgN0YWcYAyABKAlIAYgBARITCgZzb3VyY2UYBCABKAlIAogBARIXCgppbnRlbF9kYXRhGAUgASgJSAOIAQESNgoKaW50ZWxfdHlwZRgGIAEoDjIdLnVzZXIudjEuUmlza0ludGVsbGlnZW5jZVR5cGVIBIgBARIOCgZyZWFzb24YByABKAlCCQoHX3N0YXR1c0IGCgRfdGFnQgkKB19zb3VyY2VCDQoLX2ludGVsX2RhdGFCDQoLX2ludGVsX3R5cGUiIAoeVXBkYXRlUmlza0ludGVsbGlnZW5jZVJlc3BvbnNlIjIKI0Rpc2FibGVSaXNrSW50ZWxsaWdlbmNlQnlUYWdSZXF1ZXN0EgsKA3RhZxgBIAEoCSImCiREaXNhYmxlUmlza0ludGVsbGlnZW5jZUJ5VGFnUmVzcG9uc2UqiAEKFlVwZGF0ZVVzZXJDcmVkaXRTdGF0dXMSIgoeVXBkYXRlVXNlckNyZWRpdFN0YXR1c19Vbmtub3duEAASJQohVXBkYXRlVXNlckNyZWRpdFN0YXR1c19Qcm9jZXNzaW5nEAESIwofVXBkYXRlVXNlckNyZWRpdFN0YXR1c19GaW5pc2hlZBACKpsDChNVcGRhdGVDcmVkaXRPcGVyYXRlEiUKIVVQREFURV9DUkVESVRfT1BFUkFURV9VTlNQRUNJRklFRBAAEh4KGlVQREFURV9DUkVESVRfT1BFUkFURV9HSUZUEAESIAocVVBEQVRFX0NSRURJVF9PUEVSQVRFX0RFRFVDVBACEiAKHFVQREFURV9DUkVESVRfT1BFUkFURV9DSEFSR0UQAxIeChpVUERBVEVfQ1JFRElUX09QRVJBVEVfQ09TVBAEEiIKHlVQREFURV9DUkVESVRfT1BFUkFURV9ST0xMQkFDSxAFEiMKH1VQREFURV9DUkVESVRfT1BFUkFURV9SQVRFX0dJRlQQBhIgChxVUERBVEVfQ1JFRElUX09QRVJBVEVfUkVGVU5EEAcSJQohVVBEQVRFX0NSRURJVF9PUEVSQVRFX0lOVklURV9HSUZUEAgSJAogVVBEQVRFX0NSRURJVF9PUEVSQVRFX0xJVkVfRVZFTlQQCRIhCh1VUERBVEVfQ1JFRElUX09QRVJBVEVfUkVGUkVTSBAKKoYBChRJbnZpdGF0aW9uQ29kZVN0YXR1cxImCiJJTlZJVEFUSU9OX0NPREVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIQodSU5WSVRBVElPTl9DT0RFX1NUQVRVU19BQ1RJVkUQARIjCh9JTlZJVEFUSU9OX0NPREVfU1RBVFVTX0RJU0FCTEVEEAIqigEKDldhaXRsaXN0U3RhdHVzEh8KG1dBSVRMSVNUX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF1dBSVRMSVNUX1NUQVRVU19QRU5ESU5HEAESHAoYV0FJVExJU1RfU1RBVFVTX0FQUFJPVkVEEAISHAoYV0FJVExJU1RfU1RBVFVTX1JFSkVDVEVEEAMqmgMKEFdhaXRsaXN0UnVsZVR5cGUSIgoeV0FJVExJU1RfUlVMRV9UWVBFX1VOU1BFQ0lGSUVEEAASIwofV0FJVExJU1RfUlVMRV9UWVBFX0JST1dTRVJfTEFORxABEiMKH1dBSVRMSVNUX1JVTEVfVFlQRV9FTUFJTF9ET01BSU4QAhIiCh5XQUlUTElTVF9SVUxFX1RZUEVfQ09VTlRSWV9JU08QAxIkCiBXQUlUTElTVF9SVUxFX1RZUEVfUkVBU09OX0xFTkdUSBAEEi0KKVdBSVRMSVNUX1JVTEVfVFlQRV9FWENMVURFX0NISU5FU0VfUkVBU09OEAUSKAokV0FJVExJU1RfUlVMRV9UWVBFX0VYQ0xVREVfVElNRV9aT05FEAYSJwojV0FJVExJU1RfUlVMRV9UWVBFX1JFUVVFU1RfVElNRV9HVEUQBxInCiNXQUlUTElTVF9SVUxFX1RZUEVfUkVRVUVTVF9USU1FX0xURRAIEiMKH1dBSVRMSVNUX1JVTEVfVFlQRV9BSV9TQ09SRV9HVEUQCSp9ChJXYWl0bGlzdEF1dG9BY3Rpb24SJAogV0FJVExJU1RfQVVUT19BQ1RJT05fVU5TUEVDSUZJRUQQABIgChxXQUlUTElTVF9BVVRPX0FDVElPTl9BUFBST1ZFEAESHwobV0FJVExJU1RfQVVUT19BQ1RJT05fUkVKRUNUEAIqkgEKFldhaXRsaXN0QXV0b1Rhc2tTdGF0dXMSKQolV0FJVExJU1RfQVVUT19UQVNLX1NUQVRVU19VTlNQRUNJRklFRBAAEiUKIVdBSVRMSVNUX0FVVE9fVEFTS19TVEFUVVNfRU5BQkxFRBABEiYKIldBSVRMSVNUX0FVVE9fVEFTS19TVEFUVVNfRElTQUJMRUQQAippCg1CbG9ja2VkU3RhdHVzEh4KGkJMT0NLRURfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWQkxPQ0tFRF9TVEFUVVNfQkxPQ0tFRBABEhwKGEJMT0NLRURfU1RBVFVTX1VOQkxPQ0tFRBACKnEKClVzZXJTdGF0dXMSGwoXVVNFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIWChJVU0VSX1NUQVRVU19BQ1RJVkUQARIWChJVU0VSX1NUQVRVU19CQU5ORUQQAhIWChJVU0VSX1NUQVRVU19MT0dPRkYQAyrTAQoUUmlza0ludGVsbGlnZW5jZVR5cGUSJgoiVVNFUl9JTlRFTExJR0VOQ0VfVFlQRV9VTlNQRUNJRklFRBAAEh0KGVVTRVJfSU5URUxMSUdFTkNFX1RZUEVfSVAQARIpCiVVU0VSX0lOVEVMTElHRU5DRV9UWVBFX0VNQUlMX1BST1ZJREVSEAISJwojVVNFUl9JTlRFTExJR0VOQ0VfVFlQRV9FTUFJTF9TVUZGSVgQAxIgChxVU0VSX0lOVEVMTElHRU5DRV9UWVBFX1BIT05FEAQqkAEKFlJpc2tJbnRlbGxpZ2VuY2VTdGF0dXMSKAokVVNFUl9JTlRFTExJR0VOQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJgoiVVNFUl9JTlRFTExJR0VOQ0VfU1RBVFVTX0VGRkVDVElWRRABEiQKIFVTRVJfSU5URUxMSUdFTkNFX1NUQVRVU19JTlZBTElEEAIyjhwKEFVzZXJBZG1pblNlcnZpY2USYwoUQ3JlYXRlSW52aXRhdGlvbkNvZGUSJC51c2VyLnYxLkNyZWF0ZUludml0YXRpb25Db2RlUmVxdWVzdBolLnVzZXIudjEuQ3JlYXRlSW52aXRhdGlvbkNvZGVSZXNwb25zZRJgChNMaXN0SW52aXRhdGlvbkNvZGVzEiMudXNlci52MS5MaXN0SW52aXRhdGlvbkNvZGVzUmVxdWVzdBokLnVzZXIudjEuTGlzdEludml0YXRpb25Db2Rlc1Jlc3BvbnNlEmkKFkdldEludml0YXRpb25Db2RlVXNhZ2USJi51c2VyLnYxLkdldEludml0YXRpb25Db2RlVXNhZ2VSZXF1ZXN0GicudXNlci52MS5HZXRJbnZpdGF0aW9uQ29kZVVzYWdlUmVzcG9uc2USYwoUVXBkYXRlSW52aXRhdGlvbkNvZGUSJC51c2VyLnYxLlVwZGF0ZUludml0YXRpb25Db2RlUmVxdWVzdBolLnVzZXIudjEuVXBkYXRlSW52aXRhdGlvbkNvZGVSZXNwb25zZRJsChdHZXRJbnZpdGF0aW9uU3RhdGlzdGljcxInLnVzZXIudjEuR2V0SW52aXRhdGlvblN0YXRpc3RpY3NSZXF1ZXN0GigudXNlci52MS5HZXRJbnZpdGF0aW9uU3RhdGlzdGljc1Jlc3BvbnNlEksKDExpc3RXYWl0bGlzdBIcLnVzZXIudjEuTGlzdFdhaXRsaXN0UmVxdWVzdBodLnVzZXIudjEuTGlzdFdhaXRsaXN0UmVzcG9uc2USYwoUVXBkYXRlV2FpdGxpc3RTdGF0dXMSJC51c2VyLnYxLlVwZGF0ZVdhaXRsaXN0U3RhdHVzUmVxdWVzdBolLnVzZXIudjEuVXBkYXRlV2FpdGxpc3RTdGF0dXNSZXNwb25zZRJpChZDcmVhdGVXYWl0bGlzdEF1dG9UYXNrEiYudXNlci52MS5DcmVhdGVXYWl0bGlzdEF1dG9UYXNrUmVxdWVzdBonLnVzZXIudjEuQ3JlYXRlV2FpdGxpc3RBdXRvVGFza1Jlc3BvbnNlEmMKFExpc3RXYWl0bGlzdEF1dG9UYXNrEiQudXNlci52MS5MaXN0V2FpdGxpc3RBdXRvVGFza1JlcXVlc3QaJS51c2VyLnYxLkxpc3RXYWl0bGlzdEF1dG9UYXNrUmVzcG9uc2USWgoRTGlzdFF1ZXN0aW9ubmFpcmUSIS51c2VyLnYxLkxpc3RRdWVzdGlvbm5haXJlUmVxdWVzdBoiLnVzZXIudjEuTGlzdFF1ZXN0aW9ubmFpcmVSZXNwb25zZRJmChVHZXRTeXN0ZW1Ob3RpZmljYXRpb24SJS51c2VyLnYxLkdldFN5c3RlbU5vdGlmaWNhdGlvblJlcXVlc3QaJi51c2VyLnYxLkdldFN5c3RlbU5vdGlmaWNhdGlvblJlc3BvbnNlEm8KGFVwZGF0ZVN5c3RlbU5vdGlmaWNhdGlvbhIoLnVzZXIudjEuVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVxdWVzdBopLnVzZXIudjEuVXBkYXRlU3lzdGVtTm90aWZpY2F0aW9uUmVzcG9uc2USXQoSR2V0UGF5bWVudFNldHRpbmdzEiIudXNlci52MS5HZXRQYXltZW50U2V0dGluZ3NSZXF1ZXN0GiMudXNlci52MS5HZXRQYXltZW50U2V0dGluZ3NSZXNwb25zZRJmChVVcGRhdGVQYXltZW50U2V0dGluZ3MSJS51c2VyLnYxLlVwZGF0ZVBheW1lbnRTZXR0aW5nc1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZVBheW1lbnRTZXR0aW5nc1Jlc3BvbnNlEloKEUdldENOVGltZVpvbmVMaXN0EiEudXNlci52MS5HZXRDTlRpbWVab25lTGlzdFJlcXVlc3QaIi51c2VyLnYxLkdldENOVGltZVpvbmVMaXN0UmVzcG9uc2USYwoUVXBkYXRlQ05UaW1lWm9uZUxpc3QSJC51c2VyLnYxLlVwZGF0ZUNOVGltZVpvbmVMaXN0UmVxdWVzdBolLnVzZXIudjEuVXBkYXRlQ05UaW1lWm9uZUxpc3RSZXNwb25zZRJpChZCYW5JbnZpdGF0aW9uQ29kZXNCeUlQEiYudXNlci52MS5CYW5JbnZpdGF0aW9uQ29kZXNCeUlQUmVxdWVzdBonLnVzZXIudjEuQmFuSW52aXRhdGlvbkNvZGVzQnlJUFJlc3BvbnNlElEKDkdldElQQmxhY2tsaXN0Eh4udXNlci52MS5HZXRJUEJsYWNrbGlzdFJlcXVlc3QaHy51c2VyLnYxLkdldElQQmxhY2tsaXN0UmVzcG9uc2USWgoRVXBkYXRlSVBCbGFja2xpc3QSIS51c2VyLnYxLlVwZGF0ZUlQQmxhY2tsaXN0UmVxdWVzdBoiLnVzZXIudjEuVXBkYXRlSVBCbGFja2xpc3RSZXNwb25zZRJRCg5MaXN0VXNlckNyZWRpdBIeLnVzZXIudjEuTGlzdFVzZXJDcmVkaXRSZXF1ZXN0Gh8udXNlci52MS5MaXN0VXNlckNyZWRpdFJlc3BvbnNlElcKEFVwZGF0ZVVzZXJDcmVkaXQSIC51c2VyLnYxLlVwZGF0ZVVzZXJDcmVkaXRSZXF1ZXN0GiEudXNlci52MS5VcGRhdGVVc2VyQ3JlZGl0UmVzcG9uc2USdQoaTG9vcFVwZGF0ZVVzZXJDcmVkaXRTdGF0dXMSKi51c2VyLnYxLkxvb3BVcGRhdGVVc2VyQ3JlZGl0U3RhdHVzUmVxdWVzdBorLnVzZXIudjEuTG9vcFVwZGF0ZVVzZXJDcmVkaXRTdGF0dXNSZXNwb25zZRJjChRMaXN0VXNlckNyZWRpdFJlY29yZBIkLnVzZXIudjEuTGlzdFVzZXJDcmVkaXRSZWNvcmRSZXF1ZXN0GiUudXNlci52MS5MaXN0VXNlckNyZWRpdFJlY29yZFJlc3BvbnNlElcKEExpc3RCbG9ja2VkVXNlcnMSIC51c2VyLnYxLkxpc3RCbG9ja2VkVXNlcnNSZXF1ZXN0GiEudXNlci52MS5MaXN0QmxvY2tlZFVzZXJzUmVzcG9uc2UScgoZQ3JlYXRlT3JVcGRhdGVCbG9ja2VkVXNlchIpLnVzZXIudjEuQ3JlYXRlT3JVcGRhdGVCbG9ja2VkVXNlclJlcXVlc3QaKi51c2VyLnYxLkNyZWF0ZU9yVXBkYXRlQmxvY2tlZFVzZXJSZXNwb25zZRJLCgxHZXRVc2VyUXVvdGESHC51c2VyLnYxLkdldFVzZXJRdW90YVJlcXVlc3QaHS51c2VyLnYxLkdldFVzZXJRdW90YVJlc3BvbnNlElkKEEFkbWluR2V0VXNlckluZm8SIC51c2VyLnYxLkFkbWluR2V0VXNlckluZm9SZXF1ZXN0GiEudXNlci52MS5BZG1pbkdldFVzZXJJbmZvUmVzcG9uc2UiABJgChNHZXRVc2VyTG9nb2ZmU3RhdHVzEiMudXNlci52MS5HZXRVc2VyTG9nb2ZmU3RhdHVzUmVxdWVzdBokLnVzZXIudjEuR2V0VXNlckxvZ29mZlN0YXR1c1Jlc3BvbnNlEkEKCExpc3RVc2VyEhgudXNlci52MS5MaXN0VXNlclJlcXVlc3QaGS51c2VyLnYxLkxpc3RVc2VyUmVzcG9uc2UiABJTCg5MaXN0VXNlclZpcExvZxIeLnVzZXIudjEuTGlzdFVzZXJWaXBMb2dSZXF1ZXN0Gh8udXNlci52MS5MaXN0VXNlclZpcExvZ1Jlc3BvbnNlIgASTQoMQWRtaW5HaWZ0VmlwEhwudXNlci52MS5BZG1pbkdpZnRWaXBSZXF1ZXN0Gh0udXNlci52MS5BZG1pbkdpZnRWaXBSZXNwb25zZSIAEp4BCidCYXRjaEFkZEFjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb24SNy51c2VyLnYxLkJhdGNoQWRkQWN0aXZpdHlRdWVzdGlvbm5haXJlUGVybWlzc2lvblJlcXVlc3QaOC51c2VyLnYxLkJhdGNoQWRkQWN0aXZpdHlRdWVzdGlvbm5haXJlUGVybWlzc2lvblJlc3BvbnNlIgASYgoTQWRkUmlza0ludGVsbGlnZW5jZRIjLnVzZXIudjEuQWRkUmlza0ludGVsbGlnZW5jZVJlcXVlc3QaJC51c2VyLnYxLkFkZFJpc2tJbnRlbGxpZ2VuY2VSZXNwb25zZSIAEmUKFExpc3RSaXNrSW50ZWxsaWdlbmNlEiQudXNlci52MS5MaXN0Umlza0ludGVsbGlnZW5jZVJlcXVlc3QaJS51c2VyLnYxLkxpc3RSaXNrSW50ZWxsaWdlbmNlUmVzcG9uc2UiABJrChZVcGRhdGVSaXNrSW50ZWxsaWdlbmNlEiYudXNlci52MS5VcGRhdGVSaXNrSW50ZWxsaWdlbmNlUmVxdWVzdBonLnVzZXIudjEuVXBkYXRlUmlza0ludGVsbGlnZW5jZVJlc3BvbnNlIgASfQocRGlzYWJsZVJpc2tJbnRlbGxpZ2VuY2VCeVRhZxIsLnVzZXIudjEuRGlzYWJsZVJpc2tJbnRlbGxpZ2VuY2VCeVRhZ1JlcXVlc3QaLS51c2VyLnYxLkRpc2FibGVSaXNrSW50ZWxsaWdlbmNlQnlUYWdSZXNwb25zZSIAQpUBCgtjb20udXNlci52MUIOVXNlckFkbWluUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3VzZXIvdjE7dXNlcnYxogIDVVhYqgIHVXNlci5WMcoCB1VzZXJcVjHiAhNVc2VyXFYxXEdQQk1ldGFkYXRh6gIIVXNlcjo6VjFiBnByb3RvMw",[Ye,He,ee,Br]),o1=M(r1,0),Ds=z("Chp1c2VyL3YxL3N1YnNjcmlwdGlvbi5wcm90bxIHdXNlci52MSJECh1Mb29wVGVhbVVwZ3JhZGVTdGF0dXNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yEy51c2VyLnYxLkxvb3BTdGF0dXMiRAocTG9vcFRlYW1VcGdyYWRlU3RhdHVzUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRISCgppbnZvaWNlX2lkGAIgASgJIkAKD1ByZXZpZXdSZXNwb25zZRIRCglzdWJfdG90YWwYASABKAkSCwoDdGF4GAIgASgJEg0KBXRvdGFsGAMgASgJIjUKDlByZXZpZXdSZXF1ZXN0EiMKCHBsYW5fa2V5GAEgASgOMhEudXNlci52MS5QbGFuX0tleSIQCg5VcGRhdGVSZXNwb25zZSI0Cg1VcGRhdGVSZXF1ZXN0EiMKCHBsYW5fa2V5GAEgASgOMhEudXNlci52MS5QbGFuX0tleSJWCh1UZWFtU3Vic2NyaXB0aW9uVXBkYXRlUmVxdWVzdBIjCghwbGFuX2tleRgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSEAoIcXVhbnRpdHkYAiABKAUiSAoeVGVhbVN1YnNjcmlwdGlvblVwZGF0ZVJlc3BvbnNlEhIKCklzX3VwZ3JhZGUYASABKAgSEgoKaW52b2ljZV9pZBgCIAEoCSJXCh5UZWFtU3Vic2NyaXB0aW9uUHJldmlld1JlcXVlc3QSIwoIcGxhbl9rZXkYASABKA4yES51c2VyLnYxLlBsYW5fS2V5EhAKCHF1YW50aXR5GAIgASgFIqwBCh9UZWFtU3Vic2NyaXB0aW9uUHJldmlld1Jlc3BvbnNlEhEKCXN1Yl90b3RhbBgBIAEoCRILCgN0YXgYAiABKAkSDQoFdG90YWwYAyABKAkSHAoUbmV4dF9wYXltZW50X2F0dGVtcHQYBCABKAMSFgoObmV4dF9zdWJfdG90YWwYBSABKAkSEAoIbmV4dF90YXgYBiABKAkSEgoKbmV4dF90b3RhbBgHIAEoCSJzCg9DaGVja291dFJlcXVlc3QSIwoIcGxhbl9rZXkYASABKA4yES51c2VyLnYxLlBsYW5fS2V5EhIKCmNhbmNlbF91cmwYAiABKAkSEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKbW90aXZhdGlvbhgEIAEoCSI8ChBDaGVja291dFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFAoMY2hlY2tvdXRfdXJsGAIgASgJIpMBCh9UZWFtU3Vic2NyaXB0aW9uQ2hlY2tvdXRSZXF1ZXN0EhAKCHRlYW1fdWlkGAEgASgJEiMKCHBsYW5fa2V5GAIgASgOMhEudXNlci52MS5QbGFuX0tleRIQCghxdWFudGl0eRgDIAEoBRISCgpjYW5jZWxfdXJsGAQgASgJEhMKC3N1Y2Nlc3NfdXJsGAUgASgJIkwKIFRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFAoMY2hlY2tvdXRfdXJsGAIgASgJIk4KDUNhbmNlbFJlcXVlc3QSLAoNY2FuY2VsX3JlYXNvbhgBIAEoDjIVLnVzZXIudjEuQ2FuY2VsUmVhc29uEg8KB2NvbW1lbnQYAiABKAkiEAoOQ2FuY2VsUmVzcG9uc2UiDwoNUmVzdW1lUmVxdWVzdCIQCg5SZXN1bWVSZXNwb25zZSIiCgxRdWVyeVJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCSI6Cg1RdWVyeVJlc3BvbnNlEhcKD3N1YnNjcmlwdGlvbl9pZBgBIAEoCRIQCgh0ZWFtX3VpZBgCIAEoCSIUChJCaWxsaW5nUGFnZVJlcXVlc3QiIgoTQmlsbGluZ1BhZ2VSZXNwb25zZRILCgN1cmwYASABKAkiIAoeUmV2ZW51ZWNhdFN5bmNDdXN0b21lclJlcXVlc3RfIiEKH1JldmVudWVjYXRTeW5jQ3VzdG9tZXJSZXNwb25zZV8qbgoKTG9vcFN0YXR1cxIWChJMb29wU3RhdHVzX1Vua25vd24QABIZChVMb29wU3RhdHVzX1Byb2Nlc3NpbmcQARIWChJMb29wU3RhdHVzX1N1Y2Nlc3MQAhIVChFMb29wU3RhdHVzX0ZhaWxlZBADKoUCCghQbGFuX0tleRILCgdVTktOT1dOEAASDwoLUFJPX01PTlRITFkQARISCg5DQVNVQUxfTU9OVEhMWRACEg4KClBST19ZRUFSTFkQAxIRCg1DQVNVQUxfWUVBUkxZEAQSEAoMTElURV9NT05USExZEAUSDwoLTElURV9ZRUFSTFkQBhIQCgxDUkVESVRTXzIwMDAQZRIRCg1DUkVESVRTXzEwMDAwEGYSEQoNQ1JFRElUU18xOTkwMBBnEhEKDFRFQU1fTU9OVEhMWRDJARIQCgtURUFNX1lFQVJMWRDKARIPCgpURUFNX0FERE9OEMsBEhMKDlRFQU1fREVEVUNUSU9OEMwBKsoCCgxDYW5jZWxSZWFzb24SGAoUQ2FuY2VsUmVhc29uX1Vua25vd24QABIdChlDYW5jZWxSZWFzb25fVG9vRXhwZW5zaXZlEAESHwobQ2FuY2VsUmVhc29uX05vTG9uZ2VyTmVlZEl0EAISIwofQ2FuY2VsUmVhc29uX0ZvdW5kQW5BbHRlcm5hdGl2ZRADEh8KG0NhbmNlbFJlYXNvbl9EaWZmaWN1bHRUb1VzZRAEEiYKIkNhbmNlbFJlYXNvbl9EaWRudE1lZXRFeHBlY3RhdGlvbnMQBRIcChhDYW5jZWxSZWFzb25fT3RoZXJSZWFzb24QBhIvCitDYW5jZWxSZWFzb25fU3RpbGxEZWNpZGluZ0F2b2lkaW5nQXV0b1JlbmV3EAcSIwofQ2FuY2VsUmVhc29uX0RhdGFQcml2YWN5Q29uY2VybhAIMv4HChNTdWJzY3JpcHRpb25TZXJ2aWNlEjgKBVF1ZXJ5EhUudXNlci52MS5RdWVyeVJlcXVlc3QaFi51c2VyLnYxLlF1ZXJ5UmVzcG9uc2UiABI7CgZVcGRhdGUSFi51c2VyLnYxLlVwZGF0ZVJlcXVlc3QaFy51c2VyLnYxLlVwZGF0ZVJlc3BvbnNlIgASPgoHUHJldmlldxIXLnVzZXIudjEuUHJldmlld1JlcXVlc3QaGC51c2VyLnYxLlByZXZpZXdSZXNwb25zZSIAEkEKCENoZWNrb3V0EhgudXNlci52MS5DaGVja291dFJlcXVlc3QaGS51c2VyLnYxLkNoZWNrb3V0UmVzcG9uc2UiABJxChhUZWFtU3Vic2NyaXB0aW9uQ2hlY2tvdXQSKC51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlcXVlc3QaKS51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25DaGVja291dFJlc3BvbnNlIgASawoWVGVhbVN1YnNjcmlwdGlvblVwZGF0ZRImLnVzZXIudjEuVGVhbVN1YnNjcmlwdGlvblVwZGF0ZVJlcXVlc3QaJy51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25VcGRhdGVSZXNwb25zZSIAEm4KF1RlYW1TdWJzY3JpcHRpb25QcmV2aWV3EicudXNlci52MS5UZWFtU3Vic2NyaXB0aW9uUHJldmlld1JlcXVlc3QaKC51c2VyLnYxLlRlYW1TdWJzY3JpcHRpb25QcmV2aWV3UmVzcG9uc2UiABI7CgZDYW5jZWwSFi51c2VyLnYxLkNhbmNlbFJlcXVlc3QaFy51c2VyLnYxLkNhbmNlbFJlc3BvbnNlIgASOwoGUmVzdW1lEhYudXNlci52MS5SZXN1bWVSZXF1ZXN0GhcudXNlci52MS5SZXN1bWVSZXNwb25zZSIAEkoKC0JpbGxpbmdQYWdlEhsudXNlci52MS5CaWxsaW5nUGFnZVJlcXVlc3QaHC51c2VyLnYxLkJpbGxpbmdQYWdlUmVzcG9uc2UiABJtChZSZXZlbnVlY2F0U3luY0N1c3RvbWVyEicudXNlci52MS5SZXZlbnVlY2F0U3luY0N1c3RvbWVyUmVxdWVzdF8aKC51c2VyLnYxLlJldmVudWVjYXRTeW5jQ3VzdG9tZXJSZXNwb25zZV8iABJoChVMb29wVGVhbVVwZ3JhZGVTdGF0dXMSJS51c2VyLnYxLkxvb3BUZWFtVXBncmFkZVN0YXR1c1JlcXVlc3QaJi51c2VyLnYxLkxvb3BUZWFtVXBncmFkZVN0YXR1c1Jlc3BvbnNlIgBCmAEKC2NvbS51c2VyLnYxQhFTdWJzY3JpcHRpb25Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z"),a1=M(Ds,0),c1=z("Chl1c2VyL3YxL3VzZXJfcHVibGljLnByb3RvEgd1c2VyLnYxInwKF0dldEV4Y2hhbmdlSW5mb1Jlc3BvbnNlEi8KDWFkZG9uX2NyZWRpdHMYASADKAsyGC51c2VyLnYxLkFkZG9uQ3JlZGl0SW5mbxIwCg1zdWJzY3JpcHRpb25zGAIgAygLMhkudXNlci52MS5TdWJzY3JpcHRpb25JbmZvImsKEFN1YnNjcmlwdGlvbkluZm8SHwoEcGxhbhgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSDQoFcHJpY2UYAiABKAUSFgoOZGlzY291bnRfcHJpY2UYAyABKAUSDwoHY3JlZGl0cxgEIAEoBSJSCg9BZGRvbkNyZWRpdEluZm8SHwoEcGxhbhgBIAEoDjIRLnVzZXIudjEuUGxhbl9LZXkSDQoFcHJpY2UYAiABKAUSDwoHY3JlZGl0cxgDIAEoBSIYChZHZXRFeGNoYW5nZUluZm9SZXF1ZXN0IvICChNKb2luV2FpdGxpc3RSZXF1ZXN0EioKBWVtYWlsGAEgASgJQhu6SBhyFjIUXlteQF0rQFteQF0rXC5bXkBdKyQSDgoGcmVhc29uGAIgASgJEisKCmV4dHJhX2RhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eh0KFWNmX2NoYWxsZW5nZV9yZXNwb25zZRgEIAEoCRIjChtoY2FwdGNoYV9jaGFsbGVuZ2VfcmVzcG9uc2UYBSABKAkSFwoKd29ya19lbWFpbBgGIAEoCUgAiAEBEhcKCnByb2Zlc3Npb24YByABKAlIAYgBARIhChRzb2NpYWxfbWVkaWFfYWNjb3VudBgIIAEoCUgCiAEBEhUKCGluZHVzdHJ5GAkgASgJSAOIAQFCDQoLX3dvcmtfZW1haWxCDQoLX3Byb2Zlc3Npb25CFwoVX3NvY2lhbF9tZWRpYV9hY2NvdW50QgsKCV9pbmR1c3RyeSJPChRKb2luV2FpdGxpc3RSZXNwb25zZRIVCg1hdXRvX2FwcHJvdmVkGAEgASgIEhQKB29yZ191aWQYAiABKAlIAIgBAUIKCghfb3JnX3VpZCJtChFTdGFydE9hdXRoUmVxdWVzdBIZCgZpZHBfaWQYAiABKAlCCbpIBnIEEAEYIBIfCgtzdWNjZXNzX3VybBgDIAEoCUIKukgHcgUQARiACBIcCghmYWlsX3VybBgEIAEoCUIKukgHcgUQARiACCIhChJTdGFydE9hdXRoUmVzcG9uc2USCwoDdXJsGAEgASgJInMKE09hdXRoU3VjY2Vzc1JlcXVlc3QSCgoCaWQYASABKAkSDQoFdG9rZW4YAiABKAkSDwoHdXNlcl9pZBgDIAEoCRIcCg9hdXRoX3JlcXVlc3RfaWQYBCABKAlIAIgBAUISChBfYXV0aF9yZXF1ZXN0X2lkIiUKFE9hdXRoU3VjY2Vzc1Jlc3BvbnNlEg0KBXRva2VuGAEgASgJIkAKCkF0dGFjaG1lbnQSEQoJZmlsZV9uYW1lGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCRIMCgRkYXRhGAMgASgJIpECChVTdWJtaXRGZWVkYmFja1JlcXVlc3QSIwoEdHlwZRgBIAEoDjIVLnVzZXIudjEuRmVlZGJhY2tUeXBlEg0KBXRpdGxlGAIgASgJEhsKB2NvbnRlbnQYAyABKAlCCrpIB3IFEAEYkE4SKgoFZW1haWwYBCABKAlCG7pIGHIWMhReW15AXStAW15AXStcLlteQF0rJBINCgVyZWZlchgFIAEoCRIVCg1vcmlnaW5fZG9tYWluGAYgASgJEisKCmV4dHJhX2RhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKC2F0dGFjaG1lbnRzGAggAygLMhMudXNlci52MS5BdHRhY2htZW50Ii0KFlN1Ym1pdEZlZWRiYWNrUmVzcG9uc2USEwoLZmVlZGJhY2tfaWQYASABKAMifAodUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlcXVlc3QSFwoEY29kZRgBIAEoCUIJukgGcgQQBhggEh0KFWNmX2NoYWxsZW5nZV9yZXNwb25zZRgCIAEoCRIjChtoY2FwdGNoYV9jaGFsbGVuZ2VfcmVzcG9uc2UYAyABKAkiIAoeUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlIhQKEkNoZWNrUmVnaW9uUmVxdWVzdCJjChNDaGVja1JlZ2lvblJlc3BvbnNlEhYKDmlzX3Vuc3VwcG9ydGVkGAEgASgIEhkKEWlzX3Vuc3VwcG9ydGVkX3YyGAIgASgIEgsKA2lzbxgDIAEoCRIMCgRjb2RlGAQgASgJIjsKIUNoZWNrSW52aXRhdGlvbkNvZGVSZW1haW5zUmVxdWVzdBIWCg5pbnZpdGVfY29kZV9pZBgBIAEoCSLwAQoiQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnNSZXNwb25zZRIQCghtYXhfdXNlcxgBIAEoAxIPCgdyZW1haW5zGAIgASgDEg4KBnJlbWFyaxgDIAEoCRIMCgRraW5kGAQgASgFEhEKCXVzZXJfbmFtZRgFIAEoCRIWCg5lZHVfZW1haWxfbGlzdBgHIAMoCRIQCghlZHVfbmFtZRgIIAEoCRIXCg9lZHVfdW5pcXVlX25hbWUYCSABKAkSGQoRcmVjb21tZW5kX2NyZWRpdHMYCiABKAUSGAoQcmVnaXN0ZXJfY3JlZGl0cxgLIAEoBSIaChhHZXRHbG9iYWxTZXR0aW5nc1JlcXVlc3QinQEKD0dsb2JhbEVycm9ySW5mbxIKCgJpZBgBIAEoBRIPCgd2ZXJzaW9uGAIgASgFEhMKC2FsbG93X2Nsb3NlGAMgASgIEiwKCHN0YXJ0X2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIqCgZlbmRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImcKGUdldEdsb2JhbFNldHRpbmdzUmVzcG9uc2USGgoSZGlzYWJsaW5nX3BheW1lbnRzGAEgASgIEi4KDGdsb2JhbF9lcnJvchgCIAEoCzIYLnVzZXIudjEuR2xvYmFsRXJyb3JJbmZvIloKHlZlcmlmeU9yZ2FuaXphdGlvbkVtYWlsUmVxdWVzdBISCgVlbWFpbBgCIAEoCUgAiAEBEhEKBGNvZGUYAyABKAlIAYgBAUIICgZfZW1haWxCBwoFX2NvZGUiXgofVmVyaWZ5T3JnYW5pemF0aW9uRW1haWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEgsKA21zZxgCIAEoCRIPCgdvcmdfdWlkGAMgASgJEgwKBGNvZGUYBCABKAUiVAojR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUSDAoEY29kZRgDIAEoCSK2AQokR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlc3BvbnNlEi8KBGNvZGUYASABKAsyIS51c2VyLnYxLkNhbXB1c0ludml0YXRpb25Db2RlSW5mbxI4CglyZWxhdGlvbnMYAiADKAsyJS51c2VyLnYxLkNhbXB1c0ludml0YXRpb25SZWxhdGlvbkluZm8SDQoFdG90YWwYAyABKAUSFAoMdG90YWxfZWFybmVkGAQgASgFIqsCChhDYW1wdXNJbnZpdGF0aW9uQ29kZUluZm8SCgoCaWQYASABKAMSDwoHdXNlcl9pZBgCIAEoCRITCgtpbnZpdGVfY29kZRgDIAEoCRIpCgRraW5kGAQgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSFAoMaXNfYWN0aXZhdGVkGAUgASgIEhAKCG1heF91c2VzGAYgASgFEhIKCnVzZWRfY291bnQYByABKAUSEgoKY3JlYXRlZF9ieRgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBILCgN0YWcYCiABKAkSDgoGcmVtYXJrGAsgASgJEhUKDWZpc3Npb25fY291bnQYDCABKAUihAIKHENhbXB1c0ludml0YXRpb25SZWxhdGlvbkluZm8SCgoCaWQYASABKAMSEgoKaW52aXRlcl9pZBgCIAEoCRIVCg1pbnZpdGVlX2VtYWlsGAMgASgJEhMKC2ludml0ZV9jb2RlGAQgASgJEjcKBnN0YXR1cxgFIAEoDjInLnVzZXIudjEuQ2FtcHVzSW52aXRhdGlvblJlbGF0aW9uU3RhdHVzEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2FjY2VwdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI5CihTZW5kQ2FtcHVzRW1haWxWZXJpZnlDb2RlV2l0aEF1dGhSZXF1ZXN0Eg0KBWVtYWlsGAIgASgJIkkKKVNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSCwoDbXNnGAIgASgJKqYCCgxGZWVkYmFja1R5cGUSHQoZRkVFREJBQ0tfVFlQRV9VTlNQRUNJRklFRBAAEhUKEUZFRURCQUNLX1RZUEVfQlVHEAESKAokRkVFREJBQ0tfVFlQRV9GRUFUVVJFX1ZJUF9PUl9QQVlNRU5UEAISHwobRkVFREJBQ0tfVFlQRV9BQ0NPVU5UX0lTU1VFEAMSHAoYRkVFREJBQ0tfVFlQRV9URUFNX0lTU1VFEAQSIgoeRkVFREJBQ0tfVFlQRV9TTVNfVkVSSUZJQ0FUSU9OEAUSIQodRkVFREJBQ0tfVFlQRV9GRUFUVVJFX1JFUVVFU1QQBhIXChNGRUVEQkFDS19UWVBFX09USEVSEAcSFwoTRkVFREJBQ0tfVFlQRV9FTUFJTBAIKjsKHkNhbXB1c0ludml0YXRpb25SZWxhdGlvblN0YXR1cxILCgdQRU5ESU5HEAASDAoIQWNjZXB0ZWQQATKXCQoRVXNlclB1YmxpY1NlcnZpY2USSwoMSm9pbldhaXRsaXN0EhwudXNlci52MS5Kb2luV2FpdGxpc3RSZXF1ZXN0Gh0udXNlci52MS5Kb2luV2FpdGxpc3RSZXNwb25zZRJFCgpTdGFydE9hdXRoEhoudXNlci52MS5TdGFydE9hdXRoUmVxdWVzdBobLnVzZXIudjEuU3RhcnRPYXV0aFJlc3BvbnNlEksKDE9hdXRoU3VjY2VzcxIcLnVzZXIudjEuT2F1dGhTdWNjZXNzUmVxdWVzdBodLnVzZXIudjEuT2F1dGhTdWNjZXNzUmVzcG9uc2USUQoOU3VibWl0RmVlZGJhY2sSHi51c2VyLnYxLlN1Ym1pdEZlZWRiYWNrUmVxdWVzdBofLnVzZXIudjEuU3VibWl0RmVlZGJhY2tSZXNwb25zZRJpChZQcmVDaGVja0ludml0YXRpb25Db2RlEiYudXNlci52MS5QcmVDaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBonLnVzZXIudjEuUHJlQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlEkgKC0NoZWNrUmVnaW9uEhsudXNlci52MS5DaGVja1JlZ2lvblJlcXVlc3QaHC51c2VyLnYxLkNoZWNrUmVnaW9uUmVzcG9uc2USdQoaQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnMSKi51c2VyLnYxLkNoZWNrSW52aXRhdGlvbkNvZGVSZW1haW5zUmVxdWVzdBorLnVzZXIudjEuQ2hlY2tJbnZpdGF0aW9uQ29kZVJlbWFpbnNSZXNwb25zZRJaChFHZXRHbG9iYWxTZXR0aW5ncxIhLnVzZXIudjEuR2V0R2xvYmFsU2V0dGluZ3NSZXF1ZXN0GiIudXNlci52MS5HZXRHbG9iYWxTZXR0aW5nc1Jlc3BvbnNlElQKD0dldEV4Y2hhbmdlSW5mbxIfLnVzZXIudjEuR2V0RXhjaGFuZ2VJbmZvUmVxdWVzdBogLnVzZXIudjEuR2V0RXhjaGFuZ2VJbmZvUmVzcG9uc2USZgoRVmVyaWZ5Q2FtcHVzRW1haWwSJy51c2VyLnYxLlZlcmlmeU9yZ2FuaXphdGlvbkVtYWlsUmVxdWVzdBooLnVzZXIudjEuVmVyaWZ5T3JnYW5pemF0aW9uRW1haWxSZXNwb25zZRJ7ChxHZXRDYW1wdXNJbnZpdGF0aW9uQ29kZVVzYWdlEiwudXNlci52MS5HZXRDYW1wdXNJbnZpdGF0aW9uQ29kZVVzYWdlUmVxdWVzdBotLnVzZXIudjEuR2V0Q2FtcHVzSW52aXRhdGlvbkNvZGVVc2FnZVJlc3BvbnNlEooBCiFTZW5kQ2FtcHVzRW1haWxWZXJpZnlDb2RlV2l0aEF1dGgSMS51c2VyLnYxLlNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlcXVlc3QaMi51c2VyLnYxLlNlbmRDYW1wdXNFbWFpbFZlcmlmeUNvZGVXaXRoQXV0aFJlc3BvbnNlQpYBCgtjb20udXNlci52MUIPVXNlclB1YmxpY1Byb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC91c2VyL3YxO3VzZXJ2MaICA1VYWKoCB1VzZXIuVjHKAgdVc2VyXFYx4gITVXNlclxWMVxHUEJNZXRhZGF0YeoCCFVzZXI6OlYxYgZwcm90bzM",[Br,Ye,He,ee,Ds]),d1=M(c1,0),s1=z("CiF1c2VyL3YxL3VzZXJfZmVlZGJhY2tfYWRtaW4ucHJvdG8SB3VzZXIudjEixwEKGkxpc3RVc2VyRmVlZEJhY2tUYWdSZXF1ZXN0EhQKB2tleXdvcmQYASABKAlIAIgBARIUCgdpc19wdXNoGAIgASgISAGIAQESEwoGc3RhdHVzGAMgASgISAKIAQESDAoEcGFnZRgEIAEoBRIRCglwYWdlX3NpemUYBSABKAUSFgoJb25seV9yb290GAYgASgISAOIAQFCCgoIX2tleXdvcmRCCgoIX2lzX3B1c2hCCQoHX3N0YXR1c0IMCgpfb25seV9yb290IlQKG0xpc3RVc2VyRmVlZEJhY2tUYWdSZXNwb25zZRImCgR0YWdzGAEgAygLMhgudXNlci52MS5Vc2VyRmVlZEJhY2tUYWcSDQoFdG90YWwYAiABKAUiYAoaTGlzdEZlaXNodUdyb3VwSW5mb1JlcXVlc3QSFAoHY2hhdF9pZBgBIAEoCUgAiAEBEhQKB2tleXdvcmQYAiABKAlIAYgBAUIKCghfY2hhdF9pZEIKCghfa2V5d29yZCJHChtMaXN0RmVpc2h1R3JvdXBJbmZvUmVzcG9uc2USKAoGZ3JvdXBzGAEgAygLMhgudXNlci52MS5GZWlzaHVHcm91cEluZm8iTAoQQXV0b1JlcGx5Q29udGVudBIQCgh1c2Vfd2hlbhgBIAEoCRISCgplbl9jb250ZW50GAIgASgJEhIKCmNuX2NvbnRlbnQYAyABKAkizwIKGUFkZFVzZXJGZWVkQmFja1RhZ1JlcXVlc3QSFwoPdG9waWNfZ3JvdXBfdWlkGAUgASgJEg8KB2lzX3B1c2gYBiABKAgSEAoIcHJpb3JpdHkYByABKAUSDgoGc3RhdHVzGAggASgIEhEKCXBhcmVudF9pZBgJIAEoAxIZChFlbmFibGVfYXV0b19yZXBseRgKIAEoCBI1ChJhdXRvX3JlcGx5X2NvbnRlbnQYCyADKAsyGS51c2VyLnYxLkF1dG9SZXBseUNvbnRlbnQSGAoQZW5hYmxlX2F1dG9fbm90ZRgMIAEoCBIYChBhdXRvX25vdGVfZmllbGRzGA0gAygJEg4KBnByb21wdBgOIAEoCRIXCgRuYW1lGA8gASgJQgm6SAZyBBADGB4SEwoLZGVzY3JpcHRpb24YECABKAkSDwoHaXNfcm9vdBgRIAEoCCI+ChpBZGRVc2VyRmVlZEJhY2tUYWdSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiZQocRGVsZXRlVXNlckZlZWRCYWNrVGFnUmVxdWVzdBIKCgJpZBgBIAEoAxIRCglmaXJzdF90YWcYAiABKAkSFwoKc2Vjb25kX3RhZxgDIAEoCUgAiAEBQg0KC19zZWNvbmRfdGFnIkEKHURlbGV0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSKGBAocVXBkYXRlVXNlckZlZWRCYWNrVGFnUmVxdWVzdBIKCgJpZBgBIAEoAxIcCg90b3BpY19ncm91cF91aWQYBiABKAlIAIgBARIUCgdpc19wdXNoGAcgASgISAGIAQESFQoIcHJpb3JpdHkYCCABKAVIAogBARITCgZzdGF0dXMYCSABKAhIA4gBARIWCglwYXJlbnRfaWQYCiABKANIBIgBARIeChFlbmFibGVfYXV0b19yZXBseRgLIAEoCEgFiAEBEjUKEmF1dG9fcmVwbHlfY29udGVudBgMIAMoCzIZLnVzZXIudjEuQXV0b1JlcGx5Q29udGVudBIdChBlbmFibGVfYXV0b19ub3RlGA0gASgISAaIAQESGAoQYXV0b19ub3RlX2ZpZWxkcxgOIAMoCRITCgZwcm9tcHQYDyABKAlIB4gBARIXCgRuYW1lGBAgASgJQgm6SAZyBBADGB4SGAoLZGVzY3JpcHRpb24YESABKAlICIgBAUISChBfdG9waWNfZ3JvdXBfdWlkQgoKCF9pc19wdXNoQgsKCV9wcmlvcml0eUIJCgdfc3RhdHVzQgwKCl9wYXJlbnRfaWRCFAoSX2VuYWJsZV9hdXRvX3JlcGx5QhMKEV9lbmFibGVfYXV0b19ub3RlQgkKB19wcm9tcHRCDgoMX2Rlc2NyaXB0aW9uIkEKHVVwZGF0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJjChlBZGRGZWlzaHVHcm91cEluZm9SZXF1ZXN0EhIKCmdyb3VwX3R5cGUYASABKAUSEgoKZ3JvdXBfbmFtZRgCIAEoCRINCgVvd25lchgDIAEoCRIPCgdjaGF0X2lkGAQgASgJIj4KGkFkZEZlaXNodUdyb3VwSW5mb1Jlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSK6AQocVXBkYXRlRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBIKCgJpZBgBIAEoAxIXCgpncm91cF90eXBlGAMgASgFSACIAQESFwoKZ3JvdXBfbmFtZRgEIAEoCUgBiAEBEhIKBW93bmVyGAUgASgJSAKIAQESFAoHY2hhdF9pZBgGIAEoCUgDiAEBQg0KC19ncm91cF90eXBlQg0KC19ncm91cF9uYW1lQggKBl9vd25lckIKCghfY2hhdF9pZCJBCh1VcGRhdGVGZWlzaHVHcm91cEluZm9SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiKgocRGVsZXRlRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBIKCgJpZBgBIAEoAyJBCh1EZWxldGVGZWlzaHVHcm91cEluZm9SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAki9wMKD1VzZXJGZWVkQmFja1RhZxIKCgJpZBgBIAEoAxIXCg90b3BpY19ncm91cF91aWQYBiABKAkSDwoHaXNfcHVzaBgHIAEoCBIQCghwcmlvcml0eRgIIAEoBRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZzdGF0dXMYCyABKAgSEgoKZ3JvdXBfbmFtZRgMIAEoCRIPCgdjaGF0X2lkGA0gASgJEhEKCXBhcmVudF9pZBgOIAEoAxIPCgdpc19yb290GA8gASgIEhkKEWVuYWJsZV9hdXRvX3JlcGx5GBAgASgIEjUKEmF1dG9fcmVwbHlfY29udGVudBgRIAMoCzIZLnVzZXIudjEuQXV0b1JlcGx5Q29udGVudBIYChBlbmFibGVfYXV0b19ub3RlGBIgASgIEhgKEGF1dG9fbm90ZV9maWVsZHMYEyADKAkSDgoGcHJvbXB0GBQgASgJEioKCGNoaWxkcmVuGBUgAygLMhgudXNlci52MS5Vc2VyRmVlZEJhY2tUYWcSDAoEbmFtZRgWIAEoCRITCgtkZXNjcmlwdGlvbhgXIAEoCSLSAQoPRmVpc2h1R3JvdXBJbmZvEgoKAmlkGAEgASgDEi4KCmNyZWF0ZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgsKA3VpZBgFIAEoCRISCgpncm91cF90eXBlGAYgASgFEhIKCmdyb3VwX25hbWUYByABKAkSDQoFb3duZXIYCCABKAkSDwoHY2hhdF9pZBgJIAEoCSI3ChNMaXN0Rmlyc3RUYWdSZXF1ZXN0EhQKB2tleXdvcmQYAyABKAlIAIgBAUIKCghfa2V5d29yZCIzChRMaXN0Rmlyc3RUYWdSZXNwb25zZRIMCgR0YWdzGAEgAygJEg0KBXRvdGFsGAIgASgFIj4KFExpc3RSb290VGFnc1Jlc3BvbnNlEiYKBHRhZ3MYASADKAsyGC51c2VyLnYxLlVzZXJGZWVkQmFja1RhZyItCh9HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXF1ZXN0EgoKAmlkGAEgASgDIkkKIEdldFVzZXJGZWVkQmFja1RhZ0RldGFpbFJlc3BvbnNlEiUKA3RhZxgBIAEoCzIYLnVzZXIudjEuVXNlckZlZWRCYWNrVGFnMtMIChRVc2VyRmVlZEJhY2tUYWdBZG1pbhJiChNMaXN0VXNlckZlZWRCYWNrVGFnEiMudXNlci52MS5MaXN0VXNlckZlZWRCYWNrVGFnUmVxdWVzdBokLnVzZXIudjEuTGlzdFVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlIgASYgoTTGlzdEZlaXNodUdyb3VwSW5mbxIjLnVzZXIudjEuTGlzdEZlaXNodUdyb3VwSW5mb1JlcXVlc3QaJC51c2VyLnYxLkxpc3RGZWlzaHVHcm91cEluZm9SZXNwb25zZSIAEl8KEkFkZFVzZXJGZWVkQmFja1RhZxIiLnVzZXIudjEuQWRkVXNlckZlZWRCYWNrVGFnUmVxdWVzdBojLnVzZXIudjEuQWRkVXNlckZlZWRCYWNrVGFnUmVzcG9uc2UiABJoChVVcGRhdGVVc2VyRmVlZEJhY2tUYWcSJS51c2VyLnYxLlVwZGF0ZVVzZXJGZWVkQmFja1RhZ1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZVVzZXJGZWVkQmFja1RhZ1Jlc3BvbnNlIgASaAoVRGVsZXRlVXNlckZlZWRCYWNrVGFnEiUudXNlci52MS5EZWxldGVVc2VyRmVlZEJhY2tUYWdSZXF1ZXN0GiYudXNlci52MS5EZWxldGVVc2VyRmVlZEJhY2tUYWdSZXNwb25zZSIAEl8KEkFkZEZlaXNodUdyb3VwSW5mbxIiLnVzZXIudjEuQWRkRmVpc2h1R3JvdXBJbmZvUmVxdWVzdBojLnVzZXIudjEuQWRkRmVpc2h1R3JvdXBJbmZvUmVzcG9uc2UiABJoChVVcGRhdGVGZWlzaHVHcm91cEluZm8SJS51c2VyLnYxLlVwZGF0ZUZlaXNodUdyb3VwSW5mb1JlcXVlc3QaJi51c2VyLnYxLlVwZGF0ZUZlaXNodUdyb3VwSW5mb1Jlc3BvbnNlIgASaAoVRGVsZXRlRmVpc2h1R3JvdXBJbmZvEiUudXNlci52MS5EZWxldGVGZWlzaHVHcm91cEluZm9SZXF1ZXN0GiYudXNlci52MS5EZWxldGVGZWlzaHVHcm91cEluZm9SZXNwb25zZSIAEk0KDExpc3RGaXJzdFRhZxIcLnVzZXIudjEuTGlzdEZpcnN0VGFnUmVxdWVzdBodLnVzZXIudjEuTGlzdEZpcnN0VGFnUmVzcG9uc2UiABJHCgxMaXN0Um9vdFRhZ3MSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHS51c2VyLnYxLkxpc3RSb290VGFnc1Jlc3BvbnNlIgAScQoYR2V0VXNlckZlZWRCYWNrVGFnRGV0YWlsEigudXNlci52MS5HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXF1ZXN0GikudXNlci52MS5HZXRVc2VyRmVlZEJhY2tUYWdEZXRhaWxSZXNwb25zZSIAQp0BCgtjb20udXNlci52MUIWVXNlckZlZWRiYWNrQWRtaW5Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z",[Ye,gA,ee]),u1=M(s1,0),g1=z("ChJ1c2VyL3YxL3VzZXIucHJvdG8SB3VzZXIudjEiWAoaTGlzdFVzZXJDcmVkaXRzTG9nUmVzcG9uc2USKwoEbG9ncxgBIAMoCzIdLnVzZXIudjEuVXNlclNlc3Npb25DcmVkaXRMb2cSDQoFdG90YWwYAiABKAUivgEKFFVzZXJTZXNzaW9uQ3JlZGl0TG9nEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSEQoJY3JlYXRlX2F0GAMgASgFEg8KB2NyZWRpdHMYBCABKAUSJAoEdHlwZRgFIAEoDjIWLnVzZXIudjEuQ3JlZGl0TG9nVHlwZRI5ChFjb2xsYWJvcmF0ZV9pbmZvcxgGIAMoCzIeLnVzZXIudjEuQ3JlZGl0Q29sbGFib3JhdGVJbmZvImEKFUNyZWRpdENvbGxhYm9yYXRlSW5mbxIPCgd1c2VyX2lkGAEgASgJEhEKCXVzZXJfbmFtZRgCIAEoCRITCgt1c2VyX2F2YXRhchgDIAEoCRIPCgdjcmVkaXRzGAQgASgFIjwKGUxpc3RVc2VyQ3JlZGl0c0xvZ1JlcXVlc3QSDAoEcGFnZRgBIAEoBRIRCglwYWdlX3NpemUYAiABKAUiFQoTR2V0RnJlZVF1b3RhUmVxdWVzdCI3ChRHZXRGcmVlUXVvdGFSZXNwb25zZRISCgpsZWZ0X3F1b3RhGAEgASgFEgsKA3R0bBgCIAEoAyJyCghUZWFtSW5mbxINCgVjb3VudBgBIAEoBRIVCgh0ZWFtX3VpZBgCIAEoCUgAiAEBEhgKEG9yaWdpbmFsX3VzZXJfaWQYAyABKAkSGQoRb3JpZ2luYWxfdXNlcl91aWQYBCABKAlCCwoJX3RlYW1fdWlkIhEKD1VzZXJJbmZvUmVxdWVzdCLgBgoQVXNlckluZm9SZXNwb25zZRIPCgd1c2VyX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJEhEKCWZpcnN0bmFtZRgDIAEoCRIQCghsYXN0bmFtZRgEIAEoCRITCgtkaXNwbGF5bmFtZRgFIAEoCRIQCghuaWNrbmFtZRgGIAEoCRIOCgZhdmF0YXIYByABKAkSEAoIaXNfYWxwaGEYCCABKAgSEwoLaW5fd2FpdGxpc3QYCSABKAgSGgoSY3VycmVudF9wZXJpb2RfZW5kGAwgASgDEhwKFGNhbmNlbF9hdF9wZXJpb2RfZW5kGA0gASgIEg8KB2lzX2JldGEYDiABKAgSGAoQcGF5bWVudF9wbGF0Zm9ybRgPIAEoCRILCgN1aWQYECABKAkSGwoTY29uY3VycmVudF9zZXNzaW9ucxgRIAEoBRIVCg1wbGF0Zm9ybV9saXN0GBIgAygJEi8KJ2Nhbl9yZWNlaXZlX2V4dHJhX2NyZWRpdHNfZm9yX3N1YnNjcmliZRgTIAEoCBItCiVjYW5fcmVjZWl2ZV9leHRyYV9jcmVkaXRzX2Zvcl91cGdyYWRlGBQgASgIEjgKE3N1YnNjcmlwdGlvbl9zdGF0dXMYFSABKA4yGy51c2VyLnYxLlN1YnNjcmlwdGlvblN0YXR1cxIaChJtZW1iZXJzaGlwX3ZlcnNpb24YHiABKAkSGwoTbWVtYmVyc2hpcF9pbnRlcnZhbBgfIAEoCRIfChduZXh0X21lbWJlcnNoaXBfdmVyc2lvbhggIAEoCRIoCgl1c2VyX3R5cGUYKCABKA4yFS51c2VyLnYxLlVzZXJUeXBlRW51bRIkCgl0ZWFtX2luZm8YKSABKAsyES51c2VyLnYxLlRlYW1JbmZvEhsKE2lzX21lbWJlcnNoaXBfdHJpYWwYISABKAgSJwoIZWR1X2luZm8YIiABKAsyEC51c2VyLnYxLkVkdUluZm9IAIgBARIUCgxzbXNfdmVyaWZpZWQYIyABKAgSIAoYbmV4dF9tZW1iZXJzaGlwX2ludGVydmFsGCQgASgJEg0KBXBlcmtzGCUgASgIQgsKCV9lZHVfaW5mb0oECAoQC0oECAsQDFILdmlwX3ZlcnNpb25SDHZpcF9pbnRlcnZhbCKWAQoHRWR1SW5mbxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCgllZHVfZW1haWwYAyABKAkSGQoRcmVjb21tZW5kX2NyZWRpdHMYBCABKAUSGAoQcmVnaXN0ZXJfY3JlZGl0cxgFIAEoBRITCgtlZHVfZG9tYWlucxgGIAMoCRITCgt1bmlxdWVfbmFtZRgHIAEoCSJ/ChpDaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBIXCgRjb2RlGAEgASgJQgm6SAZyBBAGGCASKAobaGNhcHRjaGFfY2hhbGxlbmdlX3Jlc3BvbnNlGAIgASgJSACIAQFCHgocX2hjYXB0Y2hhX2NoYWxsZW5nZV9yZXNwb25zZSIdChtDaGVja0ludml0YXRpb25Db2RlUmVzcG9uc2UiPAoGQXZhdGFyEhEKCWZpbGVfbmFtZRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDAoEZGF0YRgDIAEoCSJ2ChhVcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QSJAoMbmV3X25pY2tuYW1lGAIgASgJQgm6SAZyBBABGCBIAIgBARIjCgpuZXdfYXZhdGFyGAMgASgLMg8udXNlci52MS5BdmF0YXJCDwoNX25ld19uaWNrbmFtZSIbChlVcGRhdGVVc2VyUHJvZmlsZVJlc3BvbnNlIuEBChpDcmVhdGVRdWVzdGlvbm5haXJlUmVxdWVzdBIOCgZyZWFzb24YASABKAkSKwoKZXh0cmFfZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoKcHJvZmVzc2lvbhgDIAEoCUgAiAEBEiEKFHNvY2lhbF9tZWRpYV9hY2NvdW50GAQgASgJSAGIAQESFQoIaW5kdXN0cnkYBSABKAlIAogBAUINCgtfcHJvZmVzc2lvbkIXChVfc29jaWFsX21lZGlhX2FjY291bnRCCwoJX2luZHVzdHJ5Ih0KG0NyZWF0ZVF1ZXN0aW9ubmFpcmVSZXNwb25zZSJPChpHZXRVc2VyQ2xpZW50Q29uZmlnUmVxdWVzdBIxCgtjb25maWdfa2V5cxgBIAMoDjIcLnVzZXIudjEuVXNlckNsaWVudENvbmZpZ0tleSLoAgobR2V0VXNlckNsaWVudENvbmZpZ1Jlc3BvbnNlEiEKFHJlY3ZfbWFya2V0aW5nX2VtYWlsGAEgASgISACIAQESGQoMaGFzX2ludGVyZXN0GAIgASgISAGIAQESJAoXc2Vzc2lvbl93YWl0X2RvbmVfZW1haWwYByABKAhIAogBARI6ChJhZ2VudF9kZXBsb3lfc3BhY2UYCiABKA4yGS51c2VyLnYxLkFnZW50RGVwbG95U3BhY2VIA4gBARIqCh1oYXNfc2hvd25fZWR1X3RlYW1fam9pbl9wb3B1cBgPIAEoCEgEiAEBQhcKFV9yZWN2X21hcmtldGluZ19lbWFpbEIPCg1faGFzX2ludGVyZXN0QhoKGF9zZXNzaW9uX3dhaXRfZG9uZV9lbWFpbEIVChNfYWdlbnRfZGVwbG95X3NwYWNlQiAKHl9oYXNfc2hvd25fZWR1X3RlYW1fam9pbl9wb3B1cCLnAgoaU2V0VXNlckNsaWVudENvbmZpZ1JlcXVlc3QSIQoUcmVjdl9tYXJrZXRpbmdfZW1haWwYASABKAhIAIgBARIZCgxoYXNfaW50ZXJlc3QYAiABKAhIAYgBARIkChdzZXNzaW9uX3dhaXRfZG9uZV9lbWFpbBgHIAEoCEgCiAEBEjoKEmFnZW50X2RlcGxveV9zcGFjZRgKIAEoDjIZLnVzZXIudjEuQWdlbnREZXBsb3lTcGFjZUgDiAEBEioKHWhhc19zaG93bl9lZHVfdGVhbV9qb2luX3BvcHVwGA8gASgISASIAQFCFwoVX3JlY3ZfbWFya2V0aW5nX2VtYWlsQg8KDV9oYXNfaW50ZXJlc3RCGgoYX3Nlc3Npb25fd2FpdF9kb25lX2VtYWlsQhUKE19hZ2VudF9kZXBsb3lfc3BhY2VCIAoeX2hhc19zaG93bl9lZHVfdGVhbV9qb2luX3BvcHVwIh0KG1NldFVzZXJDbGllbnRDb25maWdSZXNwb25zZSIeChxHZXRVc2VyR2xvYmFsU2V0dGluZ3NSZXF1ZXN0IjMKHUdldFVzZXJHbG9iYWxTZXR0aW5nc1Jlc3BvbnNlEhIKCnN1YnNjcmliZWQYASABKAgiHAoaR2V0QXZhaWxhYmxlQ3JlZGl0c1JlcXVlc3QitgIKG0dldEF2YWlsYWJsZUNyZWRpdHNSZXNwb25zZRIVCg10b3RhbF9jcmVkaXRzGAEgASgFEhQKDGZyZWVfY3JlZGl0cxgCIAEoBRIYChBwZXJpb2RpY19jcmVkaXRzGAMgASgFEhUKDWFkZG9uX2NyZWRpdHMYBCABKAUSGwoTcHJvX21vbnRobHlfY3JlZGl0cxgFIAEoBRIVCg1ldmVudF9jcmVkaXRzGAYgASgFEhcKD3JlZnJlc2hfY3JlZGl0cxgUIAEoBRIbChNtYXhfcmVmcmVzaF9jcmVkaXRzGBUgASgFEjUKEW5leHRfcmVmcmVzaF90aW1lGBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChByZWZyZXNoX2ludGVydmFsGBcgASgJIs8BChpQZXJzb25hbEludml0YXRpb25Db2RlSW5mbxIKCgJpZBgBIAEoAxIpCgRraW5kGAIgASgOMhsudXNlci52MS5JbnZpdGF0aW9uQ29kZUtpbmQSEwoLaW52aXRlX2NvZGUYAyABKAkSEAoIbWF4X3VzZXMYBCABKAUSEgoKdXNlZF9jb3VudBgFIAEoBRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdwZW5kaW5nGAggASgIIiMKIUdldFBlcnNvbmFsSW52aXRhdGlvbkNvZGVzUmVxdWVzdCJjCiJHZXRQZXJzb25hbEludml0YXRpb25Db2Rlc1Jlc3BvbnNlEj0KEGludml0YXRpb25fY29kZXMYASADKAsyIy51c2VyLnYxLlBlcnNvbmFsSW52aXRhdGlvbkNvZGVJbmZvIlAKF1NldFVzZXJJbnRlcmVzdHNSZXF1ZXN0EiMKBHRhZ3MYASADKA4yFS51c2VyLnYxLlVzZXJJbnRlcmVzdBIQCghmZWVkYmFjaxgCIAEoCSIaChhTZXRVc2VySW50ZXJlc3RzUmVzcG9uc2UiEgoQR2V0Q29ubmVjdEFQUFJlcSJvCgtDb25uZWN0SW5mbxINCgV0b2tlbhgBIAEoCRIvCgtleHBpcmVfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFAoHd2ViX3VybBgEIAEoCUgAiAEBQgoKCF93ZWJfdXJsIm8KCkNvbm5lY3RBUFASDAoEdHlwZRgBIAEoCRIRCgljb25uZWN0ZWQYAiABKAgSLwoMY29ubmVjdF9pbmZvGAMgASgLMhQudXNlci52MS5Db25uZWN0SW5mb0gAiAEBQg8KDV9jb25uZWN0X2luZm8iPgoSQ29ubmVjdEFQUFJlc3BvbnNlEigKC2Nvbm5lY3RfYXBwGAEgAygLMhMudXNlci52MS5Db25uZWN0QVBQIjUKGEdldEdvb2dsZURyaXZlQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIsCh1HZXRHb29nbGVEcml2ZUF1dGhVcmxSZXNwb25zZRILCgN1cmwYASABKAkiIAoQRGlzY29ubmVjdEFQUFJlcRIMCgR0eXBlGAEgASgJIhcKFURpc2Nvbm5lY3RBUFBSZXNwb25zZSKRAQogU2VuZFBob25lVmVyaWZpY2F0aW9uQ29kZVJlcXVlc3QSFAoMcGhvbmVfbnVtYmVyGAEgASgJEhMKC3JlZ2lvbl9jb2RlGAIgASgJEg4KBmxvY2FsZRgDIAEoCRIyCgdjaGFubmVsGAQgASgOMiEudXNlci52MS5QaG9uZVZlcmlmaWNhdGlvbkNoYW5uZWwiIwohU2VuZFBob25lVmVyaWZpY2F0aW9uQ29kZVJlc3BvbnNlIl0KFUJpbmRQaG9uZVRyYWl0UmVxdWVzdBIUCgxwaG9uZV9udW1iZXIYASABKAkSEwoLcmVnaW9uX2NvZGUYAiABKAkSGQoRcGhvbmVfdmVyaWZ5X2NvZGUYAyABKAkiGAoWQmluZFBob25lVHJhaXRSZXNwb25zZSIXChVMaXN0UmVnaW9uQ29kZVJlcXVlc3QiJwoKUmVnaW9uQ29kZRILCgNpc28YASABKAkSDAoEY29kZRgCIAEoCSJDChZMaXN0UmVnaW9uQ29kZVJlc3BvbnNlEikKDHJlZ2lvbl9jb2RlcxgBIAMoCzITLnVzZXIudjEuUmVnaW9uQ29kZSLiAQoVQWN0aXZpdHlUeXBlUGVya3NEYXRhEhEKCWZ1bGxfbmFtZRgBIAEoCRINCgVwaG9uZRgCIAEoCRINCgVlbWFpbBgDIAEoCRIPCgdhZGRyZXNzGAQgASgJEh0KEGFkZHJlc3Nfb3B0aW9uYWwYBSABKAlIAIgBARITCgtjb3VudHJ5X2lzbxgHIAEoCRIMCgRjaXR5GAggASgJEg0KBXN0YXRlGAkgASgJEgsKA3ppcBgKIAEoCRIUCgx0X3NoaXJ0X3NpemUYCyABKAlCEwoRX2FkZHJlc3Nfb3B0aW9uYWwiWworQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUiRgosQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uUmVzcG9uc2USFgoOaGFzX3Blcm1pc3Npb24YASABKAgimAEKKkNyZWF0ZU9yVXBkYXRlQWN0aXZpdHlRdWVzdGlvbm5haXJlUmVxdWVzdBIsCg1hY3Rpdml0eV90eXBlGAEgASgOMhUudXNlci52MS5BY3Rpdml0eVR5cGUSNAoKcGVya3NfZGF0YRgCIAEoCzIeLnVzZXIudjEuQWN0aXZpdHlUeXBlUGVya3NEYXRhSABCBgoEZGF0YSI6CitDcmVhdGVPclVwZGF0ZUFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlc3BvbnNlEgsKA3VpZBgBIAEoCSJPCh9HZXRBY3Rpdml0eVF1ZXN0aW9ubmFpcmVSZXF1ZXN0EiwKDWFjdGl2aXR5X3R5cGUYASABKA4yFS51c2VyLnYxLkFjdGl2aXR5VHlwZSKdAQogR2V0QWN0aXZpdHlRdWVzdGlvbm5haXJlUmVzcG9uc2USDQoFdmFsaWQYASABKAgSLAoNYWN0aXZpdHlfdHlwZRgCIAEoDjIVLnVzZXIudjEuQWN0aXZpdHlUeXBlEjQKCnBlcmtzX2RhdGEYAyABKAsyHi51c2VyLnYxLkFjdGl2aXR5VHlwZVBlcmtzRGF0YUgAQgYKBGRhdGEiOQoaU2VuZEludml0YXRpb25FbWFpbFJlcXVlc3QSDQoFZW1haWwYASABKAkSDAoEY29kZRgCIAEoCSIuChtTZW5kSW52aXRhdGlvbkVtYWlsUmVzcG9uc2USDwoHcGVuZGluZxgBIAEoCCI6Ch1HZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIxCiJHZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSI6Ch1HZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlcRIZChFjYWxsYmFja19yZWRpcmVjdBgBIAEoCSIxCiJHZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSJMChhJbkV4cGVyaW1lbnRHcm91cFJlcXVlc3QSMAoPZXhwZXJpbWVudF90eXBlGAEgASgOMhcudXNlci52MS5FeHBlcmltZW50VHlwZSI4ChlJbkV4cGVyaW1lbnRHcm91cFJlc3BvbnNlEhsKE2luX2V4cGVyaW1lbnRfZ3JvdXAYASABKAgiMgohR2V0T25lRHJpdmVCdXNpbmVzc1Njb3BlZFRva2VuUmVxEg0KBXNjb3BlGAEgASgJIksKJkdldE9uZURyaXZlQnVzaW5lc3NTY29wZWRUb2tlblJlc3BvbnNlEg0KBXRva2VuGAEgASgJEhIKCmV4cGlyZXNfaW4YAiABKAUq0wEKElN1YnNjcmlwdGlvblN0YXR1cxIbChdPdGhlclN1YnNjcmlwdGlvblN0YXR1cxAAEhoKFkluaXRTdWJzY3JpcHRpb25TdGF0dXMQARIcChhBY3RpdmVTdWJzY3JpcHRpb25TdGF0dXMQAhIdChlQYXN0RHVlU3Vic2NyaXB0aW9uU3RhdHVzEAMSJwojSW5jb21wbGV0ZUV4cGlyZWRTdWJzY3JpcHRpb25TdGF0dXMQBBIeChpDYW5jZWxlZFN1YnNjcmlwdGlvblN0YXR1cxAFKocEChNVc2VyQ2xpZW50Q29uZmlnS2V5EiYKIlVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfVU5TUEVDSUZJRUQQABIvCitVU0VSX0NMSUVOVF9DT05GSUdfS0VZX1JFQ1ZfTUFSS0VUSU5HX0VNQUlMEAESJwojVVNFUl9DTElFTlRfQ09ORklHX0tFWV9IQVNfSU5URVJFU1QQAhIuCipVU0VSX0NMSUVOVF9DT05GSUdfS0VZX09QRVJBVElPTl9QTEFZX0NBUkQQAxInCiNVU0VSX0NMSUVOVF9DT05GSUdfS0VZX1ZFUklGWV9QSE9ORRAEEiQKIFVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfVElNRV9aT05FEAUSKwonVVNFUl9DTElFTlRfQ09ORklHX0tFWV9USU1FX1pPTkVfT0ZGU0VUEAYSMgouVVNFUl9DTElFTlRfQ09ORklHX0tFWV9TRVNTSU9OX1dBSVRfRE9ORV9FTUFJTBAHEiUKIVVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfT05CT0FSRElORxAIEi0KKVVTRVJfQ0xJRU5UX0NPTkZJR19LRVlfQUdFTlRfREVQTE9ZX1NQQUNFEAoSOAo0VVNFUl9DTElFTlRfQ09ORklHX0tFWV9IQVNfU0hPV05fRURVX1RFQU1fSk9JTl9QT1BVUBAPKoIBChBBZ2VudERlcGxveVNwYWNlEiIKHkFHRU5UX0RFUExPWV9TUEFDRV9VTlNQRUNJRklFRBAAEiUKIUFHRU5UX0RFUExPWV9TUEFDRV9BU0tfRVZFUllfVElNRRABEiMKH0FHRU5UX0RFUExPWV9TUEFDRV9BTFdBWVNfQUxMT1cQAir+BgoMVXNlckludGVyZXN0Eh0KGVVTRVJfSU5URVJFU1RfVU5TUEVDSUZJRUQQABIjCh9VU0VSX0lOVEVSRVNUX0lORFVTVFJZX0FOQUxZU0lTEAESIQodVVNFUl9JTlRFUkVTVF9QT0xJQ1lfUkVTRUFSQ0gQAhIkCiBVU0VSX0lOVEVSRVNUX1BFUlNPTkFfUFJPRklMTElORxADEh8KG1VTRVJfSU5URVJFU1RfREFUQV9JTlNJR0hUUxAEEiUKIVVTRVJfSU5URVJFU1RfV0VCU0lURV9QUk9UT1RZUElORxAKEiIKHlVTRVJfSU5URVJFU1RfR0FNRV9ERVZFTE9QTUVOVBALEhwKGFVTRVJfSU5URVJFU1RfQVBQX0RFU0lHThAMEiMKH1VTRVJfSU5URVJFU1RfSU5URVJBQ1RJVkVfUEFHRVMQDRIgChxVU0VSX0lOVEVSRVNUX0FHRU5UX0JVSUxESU5HEBQSIgoeVVNFUl9JTlRFUkVTVF9UT09MX1BST1RPVFlQSU5HEBUSIQodVVNFUl9JTlRFUkVTVF9BVVRPTUFUSU9OX0ZMT1cQFhIgChxVU0VSX0lOVEVSRVNUX0FJX0lOVEVHUkFUSU9OEBcSIQodVVNFUl9JTlRFUkVTVF9DT1VSU0VfQ1JFQVRJT04QHhIgChxVU0VSX0lOVEVSRVNUX0xFQVJOSU5HX1RPT0xTEB8SIwofVVNFUl9JTlRFUkVTVF9LTk9XTEVER0VfTUFQUElORxAgEiIKHlVTRVJfSU5URVJFU1RfVEVBQ0hJTkdfQ09OVEVOVBAhEiAKHFVTRVJfSU5URVJFU1RfUkVQT1JUX1dSSVRJTkcQKBIgChxVU0VSX0lOVEVSRVNUX1NUT1JZX0NSRUFUSU9OECkSIQodVVNFUl9JTlRFUkVTVF9WSURFT19TQ1JJUFRJTkcQKhIgChxVU0VSX0lOVEVSRVNUX01FRElBX1BMQU5OSU5HECsSIQodVVNFUl9JTlRFUkVTVF9NQVJLRVRfUkVTRUFSQ0gQMhIlCiFVU0VSX0lOVEVSRVNUX0lOVkVTVE1FTlRfQU5BTFlTSVMQMxIkCiBVU0VSX0lOVEVSRVNUX0ZJTkFOQ0lBTF9NT0RFTElORxA0EiAKHFVTRVJfSU5URVJFU1RfREFUQV9SRVBPUlRJTkcQNSq5AQoYUGhvbmVWZXJpZmljYXRpb25DaGFubmVsEioKJlBIT05FX1ZFUklGSUNBVElPTl9DSEFOTkVMX1VOU1BFQ0lGSUVEEAASIgoeUEhPTkVfVkVSSUZJQ0FUSU9OX0NIQU5ORUxfU01TEAESJwojUEhPTkVfVkVSSUZJQ0FUSU9OX0NIQU5ORUxfV0hBVFNBUFAQAhIkCiBQSE9ORV9WRVJJRklDQVRJT05fQ0hBTk5FTF9WT0lDRRADKlEKDkV4cGVyaW1lbnRUeXBlEh8KG0VYUEVSSU1FTlRfVFlQRV9VTlNQRUNJRklFRBAAEh4KGkVYUEVSSU1FTlRfVFlQRV9PTkJPQVJESU5HEAEyzBQKC1VzZXJTZXJ2aWNlEkEKCFVzZXJJbmZvEhgudXNlci52MS5Vc2VySW5mb1JlcXVlc3QaGS51c2VyLnYxLlVzZXJJbmZvUmVzcG9uc2UiABJgChNDaGVja0ludml0YXRpb25Db2RlEiMudXNlci52MS5DaGVja0ludml0YXRpb25Db2RlUmVxdWVzdBokLnVzZXIudjEuQ2hlY2tJbnZpdGF0aW9uQ29kZVJlc3BvbnNlEloKEVVwZGF0ZVVzZXJQcm9maWxlEiEudXNlci52MS5VcGRhdGVVc2VyUHJvZmlsZVJlcXVlc3QaIi51c2VyLnYxLlVwZGF0ZVVzZXJQcm9maWxlUmVzcG9uc2USYAoTQ3JlYXRlUXVlc3Rpb25uYWlyZRIjLnVzZXIudjEuQ3JlYXRlUXVlc3Rpb25uYWlyZVJlcXVlc3QaJC51c2VyLnYxLkNyZWF0ZVF1ZXN0aW9ubmFpcmVSZXNwb25zZRJLCgxHZXRGcmVlUXVvdGESHC51c2VyLnYxLkdldEZyZWVRdW90YVJlcXVlc3QaHS51c2VyLnYxLkdldEZyZWVRdW90YVJlc3BvbnNlEmAKE0dldFVzZXJDbGllbnRDb25maWcSIy51c2VyLnYxLkdldFVzZXJDbGllbnRDb25maWdSZXF1ZXN0GiQudXNlci52MS5HZXRVc2VyQ2xpZW50Q29uZmlnUmVzcG9uc2USYAoTU2V0VXNlckNsaWVudENvbmZpZxIjLnVzZXIudjEuU2V0VXNlckNsaWVudENvbmZpZ1JlcXVlc3QaJC51c2VyLnYxLlNldFVzZXJDbGllbnRDb25maWdSZXNwb25zZRJdChJMaXN0VXNlckNyZWRpdHNMb2cSIi51c2VyLnYxLkxpc3RVc2VyQ3JlZGl0c0xvZ1JlcXVlc3QaIy51c2VyLnYxLkxpc3RVc2VyQ3JlZGl0c0xvZ1Jlc3BvbnNlEmYKFUdldFVzZXJHbG9iYWxTZXR0aW5ncxIlLnVzZXIudjEuR2V0VXNlckdsb2JhbFNldHRpbmdzUmVxdWVzdBomLnVzZXIudjEuR2V0VXNlckdsb2JhbFNldHRpbmdzUmVzcG9uc2USYAoTR2V0QXZhaWxhYmxlQ3JlZGl0cxIjLnVzZXIudjEuR2V0QXZhaWxhYmxlQ3JlZGl0c1JlcXVlc3QaJC51c2VyLnYxLkdldEF2YWlsYWJsZUNyZWRpdHNSZXNwb25zZRJ1ChpHZXRQZXJzb25hbEludml0YXRpb25Db2RlcxIqLnVzZXIudjEuR2V0UGVyc29uYWxJbnZpdGF0aW9uQ29kZXNSZXF1ZXN0GisudXNlci52MS5HZXRQZXJzb25hbEludml0YXRpb25Db2Rlc1Jlc3BvbnNlElcKEFNldFVzZXJJbnRlcmVzdHMSIC51c2VyLnYxLlNldFVzZXJJbnRlcmVzdHNSZXF1ZXN0GiEudXNlci52MS5TZXRVc2VySW50ZXJlc3RzUmVzcG9uc2USRwoNR2V0Q29ubmVjdEFQUBIZLnVzZXIudjEuR2V0Q29ubmVjdEFQUFJlcRobLnVzZXIudjEuQ29ubmVjdEFQUFJlc3BvbnNlEkoKDURpc2Nvbm5lY3RBUFASGS51c2VyLnYxLkRpc2Nvbm5lY3RBUFBSZXEaHi51c2VyLnYxLkRpc2Nvbm5lY3RBUFBSZXNwb25zZRJiChVHZXRHb29nbGVEcml2ZUF1dGhVcmwSIS51c2VyLnYxLkdldEdvb2dsZURyaXZlQXV0aFVybFJlcRomLnVzZXIudjEuR2V0R29vZ2xlRHJpdmVBdXRoVXJsUmVzcG9uc2UScQoaR2V0T25lRHJpdmVQZXJzb25hbEF1dGhVcmwSJi51c2VyLnYxLkdldE9uZURyaXZlUGVyc29uYWxBdXRoVXJsUmVxGisudXNlci52MS5HZXRPbmVEcml2ZVBlcnNvbmFsQXV0aFVybFJlc3BvbnNlEnEKGkdldE9uZURyaXZlQnVzaW5lc3NBdXRoVXJsEiYudXNlci52MS5HZXRPbmVEcml2ZUJ1c2luZXNzQXV0aFVybFJlcRorLnVzZXIudjEuR2V0T25lRHJpdmVCdXNpbmVzc0F1dGhVcmxSZXNwb25zZRJ9Ch5HZXRPbmVEcml2ZUJ1c2luZXNzU2NvcGVkVG9rZW4SKi51c2VyLnYxLkdldE9uZURyaXZlQnVzaW5lc3NTY29wZWRUb2tlblJlcRovLnVzZXIudjEuR2V0T25lRHJpdmVCdXNpbmVzc1Njb3BlZFRva2VuUmVzcG9uc2USYAoTU2VuZEludml0YXRpb25FbWFpbBIjLnVzZXIudjEuU2VuZEludml0YXRpb25FbWFpbFJlcXVlc3QaJC51c2VyLnYxLlNlbmRJbnZpdGF0aW9uRW1haWxSZXNwb25zZRKTAQokQ2hlY2tBY3Rpdml0eVF1ZXN0aW9ubmFpcmVQZXJtaXNzaW9uEjQudXNlci52MS5DaGVja0FjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb25SZXF1ZXN0GjUudXNlci52MS5DaGVja0FjdGl2aXR5UXVlc3Rpb25uYWlyZVBlcm1pc3Npb25SZXNwb25zZRKQAQojQ3JlYXRlT3JVcGRhdGVBY3Rpdml0eVF1ZXN0aW9ubmFpcmUSMy51c2VyLnYxLkNyZWF0ZU9yVXBkYXRlQWN0aXZpdHlRdWVzdGlvbm5haXJlUmVxdWVzdBo0LnVzZXIudjEuQ3JlYXRlT3JVcGRhdGVBY3Rpdml0eVF1ZXN0aW9ubmFpcmVSZXNwb25zZRJvChhHZXRBY3Rpdml0eVF1ZXN0aW9ubmFpcmUSKC51c2VyLnYxLkdldEFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlcXVlc3QaKS51c2VyLnYxLkdldEFjdGl2aXR5UXVlc3Rpb25uYWlyZVJlc3BvbnNlEnIKGVNlbmRQaG9uZVZlcmlmaWNhdGlvbkNvZGUSKS51c2VyLnYxLlNlbmRQaG9uZVZlcmlmaWNhdGlvbkNvZGVSZXF1ZXN0GioudXNlci52MS5TZW5kUGhvbmVWZXJpZmljYXRpb25Db2RlUmVzcG9uc2USUQoOQmluZFBob25lVHJhaXQSHi51c2VyLnYxLkJpbmRQaG9uZVRyYWl0UmVxdWVzdBofLnVzZXIudjEuQmluZFBob25lVHJhaXRSZXNwb25zZRJRCg5MaXN0UmVnaW9uQ29kZRIeLnVzZXIudjEuTGlzdFJlZ2lvbkNvZGVSZXF1ZXN0Gh8udXNlci52MS5MaXN0UmVnaW9uQ29kZVJlc3BvbnNlElwKEUluRXhwZXJpbWVudEdyb3VwEiEudXNlci52MS5JbkV4cGVyaW1lbnRHcm91cFJlcXVlc3QaIi51c2VyLnYxLkluRXhwZXJpbWVudEdyb3VwUmVzcG9uc2UiAEKQAQoLY29tLnVzZXIudjFCCVVzZXJQcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdXNlci92MTt1c2VydjGiAgNVWFiqAgdVc2VyLlYxygIHVXNlclxWMeICE1VzZXJcVjFcR1BCTWV0YWRhdGHqAghVc2VyOjpWMWIGcHJvdG8z",[Ye,He,ee,Br]),h1=M(g1,0),b1=z("Ch51c2VyL3YxL3VzZXJfYXV0aF9wdWJsaWMucHJvdG8SB3VzZXIudjEi5wMKC0F1dGhDb21tYW5kEhAKA3V0bRgBIAEoCUgAiAEBEhIKBXJlZmVyGAIgASgJSAGIAQESGAoLZmlyc3RfZW50cnkYAyABKAlIAogBARIgChNmaXJzdF9mcm9tX3BsYXRmb3JtGAQgASgJSAOIAQESGQoMaW5zdGFsbF9mcm9tGAUgASgJSASIAQESEwoGbG9jYWxlGAYgASgJSAWIAQESFgoJZ3BzX2FkX2lkGAcgASgJSAaIAQESEQoEaWRmYRgIIAEoCUgHiAEBEhIKBWFkX2lkGAkgASgJSAiIAQESFwoKdXRtX3NvdXJjZRgKIAEoCUgJiAEBEhkKDHV0bV9jYW1wYWlnbhgLIAEoCUgKiAEBEg8KAnR6GAwgASgJSAuIAQESFgoJdHpfb2Zmc2V0GA0gASgJSAyIAQFCBgoEX3V0bUIICgZfcmVmZXJCDgoMX2ZpcnN0X2VudHJ5QhYKFF9maXJzdF9mcm9tX3BsYXRmb3JtQg8KDV9pbnN0YWxsX2Zyb21CCQoHX2xvY2FsZUIMCgpfZ3BzX2FkX2lkQgcKBV9pZGZhQggKBl9hZF9pZEINCgtfdXRtX3NvdXJjZUIPCg1fdXRtX2NhbXBhaWduQgUKA190ekIMCgpfdHpfb2Zmc2V0IrsBChZSZWdpc3RlckJ5RW1haWxSZXF1ZXN0EjMKEGF1dGhfY29tbWFuZF9jbWQYASABKAsyFC51c2VyLnYxLkF1dGhDb21tYW5kSACIAQESDQoFZW1haWwYAiABKAkSEwoLdmVyaWZ5X2NvZGUYAyABKAkSDAoEbmFtZRgEIAEoCRIQCghwYXNzd29yZBgFIAEoCRITCgtpbnZpdGVfY29kZRgGIAEoCUITChFfYXV0aF9jb21tYW5kX2NtZCIoChdSZWdpc3RlckJ5RW1haWxSZXNwb25zZRINCgV0b2tlbhgBIAEoCSKoAQoWT2F1dGgyQXV0aG9yaXplUmVxdWVzdBIvCgxhdXRoX2NvbW1hbmQYASABKAsyFC51c2VyLnYxLkF1dGhDb21tYW5kSACIAQESFAoMcmVkaXJlY3RfdXJsGAIgASgJEhMKC2ludml0ZV9jb2RlGAMgASgJEiEKBHR5cGUYBCABKA4yEy51c2VyLnYxLk9BdXRoMlR5cGVCDwoNX2F1dGhfY29tbWFuZCIvChdPYXV0aDJBdXRob3JpemVSZXNwb25zZRIUCgxyZWRpcmVjdF91cmwYASABKAkiTAoTTG9naW5CeUVtYWlsUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIQCghwYXNzd29yZBgCIAEoCRIUCgxjYXB0Y2hhX2NvZGUYAyABKAkiJQoUTG9naW5CeUVtYWlsUmVzcG9uc2USDQoFdG9rZW4YASABKAkibQofUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhUmVxdWVzdBINCgVlbWFpbBgBIAEoCRITCgt2ZXJpZnlfY29kZRgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIUCgxjYXB0Y2hhX2NvZGUYBCABKAkiIgogUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhUmVzcG9uc2UiLgodSW50ZXJuYWxHZXRVc2VyQnlFbWFpbFJlcXVlc3QSDQoFZW1haWwYASABKAkiMQoeSW50ZXJuYWxHZXRVc2VyQnlFbWFpbFJlc3BvbnNlEg8KB3VzZXJfaWQYASABKAkidgolU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhUmVxdWVzdBIUCgxjYXB0Y2hhX2NvZGUYASABKAkSDQoFZW1haWwYAiABKAkSKAoGYWN0aW9uGAMgASgOMhgudXNlci52MS5TZW5kRW1haWxBY3Rpb24iSgomU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhUmVzcG9uc2USIAoYcmVnaXN0ZXJlZF9wbGF0Zm9ybV9saXN0GAEgAygJIooBCh1Hb29nbGVBcHBPYXV0aENhbGxiYWNrUmVxdWVzdBIRCglnb29nbGVfaWQYASABKAkSFAoMYWNjZXNzX3Rva2VuGAIgASgJEi8KDGF1dGhfY29tbWFuZBgDIAEoCzIULnVzZXIudjEuQXV0aENvbW1hbmRIAIgBAUIPCg1fYXV0aF9jb21tYW5kIi8KHkdvb2dsZUFwcE9hdXRoQ2FsbGJhY2tSZXNwb25zZRINCgV0b2tlbhgBIAEoCSItChdBcHBsZVNwZWNpYWxBdXRoUmVxdWVzdBISCgpzcGVjaWFsX2lkGAEgASgJIikKGEFwcGxlU3BlY2lhbEF1dGhSZXNwb25zZRINCgV0b2tlbhgBIAEoCSKQAQoNQXBwbGVVc2VySW5mbxIpCgRuYW1lGAEgASgLMhsudXNlci52MS5BcHBsZVVzZXJJbmZvLk5hbWUSDQoFZW1haWwYAiABKAkSFgoOaWRlbnRpdHlfdG9rZW4YAyABKAkaLQoETmFtZRISCgpmaXJzdF9uYW1lGAEgASgJEhEKCWxhc3RfbmFtZRgCIAEoCSJwCh1XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVxdWVzdBIMCgRjb2RlGAEgASgJEg0KBXN0YXRlGAIgASgJEikKBHVzZXIYAyABKAsyFi51c2VyLnYxLkFwcGxlVXNlckluZm9IAIgBAUIHCgVfdXNlciJJCh5XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVzcG9uc2USFAoMcmVkaXJlY3RfdXJsGAEgASgJEhEKCWp3dF90b2tlbhgCIAEoCSLKAQocSW9zQXBwbGVPYXV0aENhbGxiYWNrUmVxdWVzdBIzChBhdXRoX2NvbW1hbmRfY21kGAEgASgLMhQudXNlci52MS5BdXRoQ29tbWFuZEgAiAEBEg0KBWVtYWlsGAIgASgJEhIKCmdpdmVuX25hbWUYAyABKAkSEwoLZmFtaWx5X25hbWUYBCABKAkSFQoNYXV0aF9hcHBsZV9pZBgFIAEoCRIRCglhdXRoX2NvZGUYBiABKAlCEwoRX2F1dGhfY29tbWFuZF9jbWQiLgodSW9zQXBwbGVPYXV0aENhbGxiYWNrUmVzcG9uc2USDQoFdG9rZW4YASABKAkiJAoRU3dpdGNoVXNlclJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCSIjChJTd2l0Y2hVc2VyUmVzcG9uc2USDQoFdG9rZW4YASABKAkiKwoaRXhjaGFuZ2VUb2tlbkJ5Q29kZVJlcXVlc3QSDQoFdG9rZW4YASABKAkiHQobRXhjaGFuZ2VUb2tlbkJ5Q29kZVJlc3BvbnNlKlsKCk9BdXRoMlR5cGUSHAoYT19BVVRIMl9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTT19BVVRIMl9UWVBFX0dPT0dMRRABEhYKEk9fQVVUSDJfVFlQRV9BUFBMRRACMuwHChVVc2VyQXV0aFB1YmxpY1NlcnZpY2USVAoPUmVnaXN0ZXJCeUVtYWlsEh8udXNlci52MS5SZWdpc3RlckJ5RW1haWxSZXF1ZXN0GiAudXNlci52MS5SZWdpc3RlckJ5RW1haWxSZXNwb25zZRJUCg9PYXV0aDJBdXRob3JpemUSHy51c2VyLnYxLk9hdXRoMkF1dGhvcml6ZVJlcXVlc3QaIC51c2VyLnYxLk9hdXRoMkF1dGhvcml6ZVJlc3BvbnNlEksKDExvZ2luQnlFbWFpbBIcLnVzZXIudjEuTG9naW5CeUVtYWlsUmVxdWVzdBodLnVzZXIudjEuTG9naW5CeUVtYWlsUmVzcG9uc2USbwoYUmVzZXRQYXNzd29yZFdpdGhDYXB0Y2hhEigudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aENhcHRjaGFSZXF1ZXN0GikudXNlci52MS5SZXNldFBhc3N3b3JkV2l0aENhcHRjaGFSZXNwb25zZRKBAQoeU2VuZEVtYWlsVmVyaWZ5Q29kZVdpdGhDYXB0Y2hhEi4udXNlci52MS5TZW5kRW1haWxWZXJpZnlDb2RlV2l0aENhcHRjaGFSZXF1ZXN0Gi8udXNlci52MS5TZW5kRW1haWxWZXJpZnlDb2RlV2l0aENhcHRjaGFSZXNwb25zZRJpChZHb29nbGVBcHBPYXV0aENhbGxiYWNrEiYudXNlci52MS5Hb29nbGVBcHBPYXV0aENhbGxiYWNrUmVxdWVzdBonLnVzZXIudjEuR29vZ2xlQXBwT2F1dGhDYWxsYmFja1Jlc3BvbnNlEmkKFldlYkFwcGxlT2F1dGgyQ2FsbGJhY2sSJi51c2VyLnYxLldlYkFwcGxlT2F1dGgyQ2FsbGJhY2tSZXF1ZXN0GicudXNlci52MS5XZWJBcHBsZU9hdXRoMkNhbGxiYWNrUmVzcG9uc2USZgoVSW9zQXBwbGVPYXV0aENhbGxiYWNrEiUudXNlci52MS5Jb3NBcHBsZU9hdXRoQ2FsbGJhY2tSZXF1ZXN0GiYudXNlci52MS5Jb3NBcHBsZU9hdXRoQ2FsbGJhY2tSZXNwb25zZRJFCgpTd2l0Y2hVc2VyEhoudXNlci52MS5Td2l0Y2hVc2VyUmVxdWVzdBobLnVzZXIudjEuU3dpdGNoVXNlclJlc3BvbnNlEmAKE0V4Y2hhbmdlVG9rZW5CeUNvZGUSIy51c2VyLnYxLkV4Y2hhbmdlVG9rZW5CeUNvZGVSZXF1ZXN0GiQudXNlci52MS5FeGNoYW5nZVRva2VuQnlDb2RlUmVzcG9uc2VCmgEKC2NvbS51c2VyLnYxQhNVc2VyQXV0aFB1YmxpY1Byb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC91c2VyL3YxO3VzZXJ2MaICA1VYWKoCB1VzZXIuVjHKAgdVc2VyXFYx4gITVXNlclxWMVxHUEJNZXRhZGF0YeoCCFVzZXI6OlYxYgZwcm90bzM",[Hs]),V1=M(b1,0),m1=z("CidkYXNoYm9hcmRfdG9vbHMvdjEvZGFzaGJvYXJkX3Rvb2wucHJvdG8SEmRhc2hib2FyZF90b29scy52MSKSAQoiQ3JlYXRlT3JVcGRhdGVUcmFuc2xhdGVUYXNrUmVxdWVzdBIUCgd0YXNrX2lkGAEgASgDSACIAQESDgoGbW9kdWxlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEiUKBGRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QgoKCF90YXNrX2lkIiUKI0NyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFza1Jlc3BvbnNlIl8KFFRyYW5zbGF0ZVRhc2tSZXF1ZXN0EhQKB3Rhc2tfaWQYASABKANIAIgBARIlCgRkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEIKCghfdGFza19pZCI+ChVUcmFuc2xhdGVUYXNrUmVzcG9uc2USJQoEZGF0YRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYQoZTGlzdFRyYW5zbGF0ZVRhc2tzUmVxdWVzdBIPCgdtb2R1bGVzGAEgAygJEhUKBHBhZ2UYAiABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAMgASgFQgm6SAYaBBhkKAEizAEKDVRyYW5zbGF0ZVRhc2sSDwoHdGFza19pZBgBIAEoAxIOCgZtb2R1bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSJQoEZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiXQoaTGlzdFRyYW5zbGF0ZVRhc2tzUmVzcG9uc2USMAoFdGFza3MYASADKAsyIS5kYXNoYm9hcmRfdG9vbHMudjEuVHJhbnNsYXRlVGFzaxINCgV0b3RhbBgCIAEoAyI7ChdHZXRUcmFuc2xhdGVUYXNrUmVxdWVzdBIUCgd0YXNrX2lkGAEgASgDSACIAQFCCgoIX3Rhc2tfaWQiSwoYR2V0VHJhbnNsYXRlVGFza1Jlc3BvbnNlEi8KBHRhc2sYASABKAsyIS5kYXNoYm9hcmRfdG9vbHMudjEuVHJhbnNsYXRlVGFzayItChpEZWxldGVUcmFuc2xhdGVUYXNrUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgDIh0KG0RlbGV0ZVRyYW5zbGF0ZVRhc2tSZXNwb25zZTLzBAoURGFzaGJvYXJkVG9vbFNlcnZpY2USkAEKG0NyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFzaxI2LmRhc2hib2FyZF90b29scy52MS5DcmVhdGVPclVwZGF0ZVRyYW5zbGF0ZVRhc2tSZXF1ZXN0GjcuZGFzaGJvYXJkX3Rvb2xzLnYxLkNyZWF0ZU9yVXBkYXRlVHJhbnNsYXRlVGFza1Jlc3BvbnNlIgASZgoNVHJhbnNsYXRlVGFzaxIoLmRhc2hib2FyZF90b29scy52MS5UcmFuc2xhdGVUYXNrUmVxdWVzdBopLmRhc2hib2FyZF90b29scy52MS5UcmFuc2xhdGVUYXNrUmVzcG9uc2UiABJ1ChJMaXN0VHJhbnNsYXRlVGFza3MSLS5kYXNoYm9hcmRfdG9vbHMudjEuTGlzdFRyYW5zbGF0ZVRhc2tzUmVxdWVzdBouLmRhc2hib2FyZF90b29scy52MS5MaXN0VHJhbnNsYXRlVGFza3NSZXNwb25zZSIAEm8KEEdldFRyYW5zbGF0ZVRhc2sSKy5kYXNoYm9hcmRfdG9vbHMudjEuR2V0VHJhbnNsYXRlVGFza1JlcXVlc3QaLC5kYXNoYm9hcmRfdG9vbHMudjEuR2V0VHJhbnNsYXRlVGFza1Jlc3BvbnNlIgASeAoTRGVsZXRlVHJhbnNsYXRlVGFzaxIuLmRhc2hib2FyZF90b29scy52MS5EZWxldGVUcmFuc2xhdGVUYXNrUmVxdWVzdBovLmRhc2hib2FyZF90b29scy52MS5EZWxldGVUcmFuc2xhdGVUYXNrUmVzcG9uc2UiAELiAQoWY29tLmRhc2hib2FyZF90b29scy52MUISRGFzaGJvYXJkVG9vbFByb3RvUAFaT2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9kYXNoYm9hcmRfdG9vbHMvdjE7ZGFzaGJvYXJkX3Rvb2xzdjGiAgNEWFiqAhFEYXNoYm9hcmRUb29scy5WMcoCEURhc2hib2FyZFRvb2xzXFYx4gIdRGFzaGJvYXJkVG9vbHNcVjFcR1BCTWV0YWRhdGHqAhJEYXNoYm9hcmRUb29sczo6VjFiBnByb3RvMw",[He,ee,Ye]),f1=M(m1,0),Nr=z("Ch10ZWFtL3YxL3RlYW1fbWFuYWdlbWVudC5wcm90bxIHdGVhbS52MSI8CgZBdmF0YXISEQoJZmlsZV9uYW1lGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCRIMCgRkYXRhGAMgASgJIqsBChFDcmVhdGVUZWFtUmVxdWVzdBIMCgRuYW1lGAEgASgJEg0KBXNlYXRzGAIgASgFEh8KBmF2YXRhchgDIAEoCzIPLnRlYW0udjEuQXZhdGFyEhYKDmF1dG9fZGVkdWN0aW9uGAQgASgIEh8KF3NpbmdsZV9kZWR1Y3Rpb25fYW1vdW50GAUgASgFEh8KF21vbnRobHlfZGVkdWN0aW9uX2xpbWl0GAYgASgFInYKEkNyZWF0ZVRlYW1SZXNwb25zZRIQCgh0ZWFtX3VpZBgBIAEoCRIPCgd1c2VyX2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGYXZhdGFyGAQgASgJEh8KBHN0ZXAYBSABKA4yES50ZWFtLnYxLlRlYW1TdGVwIkYKFVVwZGF0ZVRlYW1JbmZvUmVxdWVzdBIMCgRuYW1lGAEgASgJEh8KBmF2YXRhchgCIAEoCzIPLnRlYW0udjEuQXZhdGFyInMKFlVwZGF0ZVRlYW1JbmZvUmVzcG9uc2USEAoIdGVhbV91aWQYASABKAkSEQoJdGVhbV9uYW1lGAIgASgJEhMKC3RlYW1fYXZhdGFyGAMgASgJEh8KBHN0ZXAYBCABKA4yES50ZWFtLnYxLlRlYW1TdGVwIkIKCkludml0ZVVzZXISDQoFZW1haWwYASABKAkSJQoEcm9sZRgCIAEoDjIXLnRlYW0udjEuVGVhbU1lbWJlclJvbGUiUgoWQmF0Y2hJbnZpdGVVc2VyUmVxdWVzdBIUCgxpc19yZV9pbnZpdGUYASABKAgSIgoFdXNlcnMYAiADKAsyEy50ZWFtLnYxLkludml0ZVVzZXIiGQoXQmF0Y2hJbnZpdGVVc2VyUmVzcG9uc2UiKQoSRGlzbWlzc1RlYW1SZXF1ZXN0EhMKC3ZlcmlmeV9jb2RlGAEgASgJIiYKE0Rpc21pc3NUZWFtUmVzcG9uc2USDwoHdXNlcl9pZBgBIAEoCSIkChNUcmFuc2ZlclRlYW1SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJIhYKFFRyYW5zZmVyVGVhbVJlc3BvbnNlIkEKGEJhdGNoUmVtb3ZlTWVtYmVyUmVxdWVzdBIVCg10ZWFtX3VzZXJfaWRzGAEgAygJEg4KBmVtYWlscxgCIAMoCSIbChlCYXRjaFJlbW92ZU1lbWJlclJlc3BvbnNlIlYKF1VwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0EhQKDHRlYW1fdXNlcl9pZBgBIAEoCRIlCgRyb2xlGAIgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZSIaChhVcGRhdGVNZW1iZXJSb2xlUmVzcG9uc2UiOAoVVXBkYXRlVGVhbVN0ZXBSZXF1ZXN0Eh8KBHN0ZXAYASABKA4yES50ZWFtLnYxLlRlYW1TdGVwIhgKFlVwZGF0ZVRlYW1TdGVwUmVzcG9uc2UiTwoXVXBkYXRlSW52aXRlUm9sZVJlcXVlc3QSDQoFZW1haWwYASABKAkSJQoEcm9sZRgCIAEoDjIXLnRlYW0udjEuVGVhbU1lbWJlclJvbGUiGgoYVXBkYXRlSW52aXRlUm9sZVJlc3BvbnNlIn0KIVVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nUmVxdWVzdBIWCg5hdXRvX2RlZHVjdGlvbhgBIAEoCBIfChdzaW5nbGVfZGVkdWN0aW9uX2Ftb3VudBgCIAEoBRIfChdtb250aGx5X2RlZHVjdGlvbl9saW1pdBgDIAEoBSIkCiJVcGRhdGVUZWFtRGVkdWN0aW9uU2V0dGluZ1Jlc3BvbnNlKk4KCFRlYW1UeXBlEhkKFVRFQU1fVFlQRV9VTlNQRUNJRklFRBAAEhQKEFRFQU1fVFlQRV9OT1JNQUwQARIRCg1URUFNX1RZUEVfRURVEAIqiQEKCFRlYW1TdGVwEhkKFVRFQU1fU1RFUF9VTlNQRUNJRklFRBAAEh4KGlRFQU1fU1RFUF9DSE9PU0VfU1VCU0NSSUJFEAESGQoVVEVBTV9TVEVQX1VQREFURV9JTkZPEAISEQoNVEVBTV9TVEVQX1BBWRADEhQKEFRFQU1fU1RFUF9GSU5JU0gQBCqHAQoOVGVhbU1lbWJlclJvbGUSIAocVEVBTV9NRU1CRVJfUk9MRV9VTlNQRUNJRklFRBAAEhoKFlRFQU1fTUVNQkVSX1JPTEVfT1dORVIQARIaChZURUFNX01FTUJFUl9ST0xFX0FETUlOEAISGwoXVEVBTV9NRU1CRVJfUk9MRV9NRU1CRVIQAzL2BgoVVGVhbU1hbmFnZW1lbnRTZXJ2aWNlEkUKCkNyZWF0ZVRlYW0SGi50ZWFtLnYxLkNyZWF0ZVRlYW1SZXF1ZXN0GhsudGVhbS52MS5DcmVhdGVUZWFtUmVzcG9uc2USUQoOVXBkYXRlVGVhbUluZm8SHi50ZWFtLnYxLlVwZGF0ZVRlYW1JbmZvUmVxdWVzdBofLnRlYW0udjEuVXBkYXRlVGVhbUluZm9SZXNwb25zZRJUCg9CYXRjaEludml0ZVVzZXISHy50ZWFtLnYxLkJhdGNoSW52aXRlVXNlclJlcXVlc3QaIC50ZWFtLnYxLkJhdGNoSW52aXRlVXNlclJlc3BvbnNlEkgKC0Rpc21pc3NUZWFtEhsudGVhbS52MS5EaXNtaXNzVGVhbVJlcXVlc3QaHC50ZWFtLnYxLkRpc21pc3NUZWFtUmVzcG9uc2USSwoMVHJhbnNmZXJUZWFtEhwudGVhbS52MS5UcmFuc2ZlclRlYW1SZXF1ZXN0Gh0udGVhbS52MS5UcmFuc2ZlclRlYW1SZXNwb25zZRJaChFCYXRjaFJlbW92ZU1lbWJlchIhLnRlYW0udjEuQmF0Y2hSZW1vdmVNZW1iZXJSZXF1ZXN0GiIudGVhbS52MS5CYXRjaFJlbW92ZU1lbWJlclJlc3BvbnNlElcKEFVwZGF0ZU1lbWJlclJvbGUSIC50ZWFtLnYxLlVwZGF0ZU1lbWJlclJvbGVSZXF1ZXN0GiEudGVhbS52MS5VcGRhdGVNZW1iZXJSb2xlUmVzcG9uc2USUQoOVXBkYXRlVGVhbVN0ZXASHi50ZWFtLnYxLlVwZGF0ZVRlYW1TdGVwUmVxdWVzdBofLnRlYW0udjEuVXBkYXRlVGVhbVN0ZXBSZXNwb25zZRJXChBVcGRhdGVJbnZpdGVSb2xlEiAudGVhbS52MS5VcGRhdGVJbnZpdGVSb2xlUmVxdWVzdBohLnRlYW0udjEuVXBkYXRlSW52aXRlUm9sZVJlc3BvbnNlEnUKGlVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nEioudGVhbS52MS5VcGRhdGVUZWFtRGVkdWN0aW9uU2V0dGluZ1JlcXVlc3QaKy50ZWFtLnYxLlVwZGF0ZVRlYW1EZWR1Y3Rpb25TZXR0aW5nUmVzcG9uc2VCmgEKC2NvbS50ZWFtLnYxQhNUZWFtTWFuYWdlbWVudFByb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC90ZWFtL3YxO3RlYW12MaICA1RYWKoCB1RlYW0uVjHKAgdUZWFtXFYx4gITVGVhbVxWMVxHUEJNZXRhZGF0YeoCCFRlYW06OlYxYgZwcm90bzM"),A1=M(Nr,0),p1=z("ChJ0ZWFtL3YxL3RlYW0ucHJvdG8SB3RlYW0udjEiUQoYTGlzdFRlYW1JbnZvaWNlc1Jlc3BvbnNlEiYKCGludm9pY2VzGAEgAygLMhQudGVhbS52MS5UZWFtSW52b2ljZRINCgV0b3RhbBgCIAEoBSKDAQoLVGVhbUludm9pY2USEgoKaW52b2ljZV9pZBgBIAEoCRIOCgZhbW91bnQYAiABKAMSEQoJcHVyY2hhc2VyGAMgASgJEhMKC2ludm9pY2VfdXJsGAQgASgJEigKBGRhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjoKF0xpc3RUZWFtSW52b2ljZXNSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFIjIKD0xpc3RUZWFtUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBSK0AQoEVGVhbRIQCgh0ZWFtX3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEiMKBnN0YXR1cxgFIAEoDjITLnRlYW0udjEuVGVhbVN0YXR1cxIlCgRyb2xlGAYgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZRIfCgR0eXBlGAcgASgOMhEudGVhbS52MS5UZWFtVHlwZSJ+ChBMaXN0VGVhbVJlc3BvbnNlEhwKBXRlYW1zGAEgAygLMg0udGVhbS52MS5UZWFtEhMKC3RvdGFsX2NvdW50GAIgASgFEg8KB3VzZXJfaWQYAyABKAkSEQoJdXNlcl9uYW1lGAQgASgJEhMKC3VzZXJfYXZhdGFyGAUgASgJIioKD0pvaW5UZWFtUmVxdWVzdBIXCg9pbnZpdGF0aW9uX2NvZGUYASABKAkidAoQSm9pblRlYW1SZXNwb25zZRIPCgd1c2VyX2lkGAEgASgJEhAKCHRlYW1fdWlkGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGYXZhdGFyGAQgASgJEh8KBHR5cGUYBSABKA4yES50ZWFtLnYxLlRlYW1UeXBlIhEKD0V4aXRUZWFtUmVxdWVzdCISChBFeGl0VGVhbVJlc3BvbnNlIiYKEkdldFRlYW1JbmZvUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCSLLAwoTR2V0VGVhbUluZm9SZXNwb25zZRIQCgh0ZWFtX3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRINCgVzZWF0cxgEIAEoBRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5hdXRvX2RlZHVjdGlvbhgGIAEoCBIfChdzaW5nbGVfZGVkdWN0aW9uX2Ftb3VudBgHIAEoBRIfChdtb250aGx5X2RlZHVjdGlvbl9saW1pdBgIIAEoBRIfCgRzdGVwGAkgASgOMhEudGVhbS52MS5UZWFtU3RlcBIlCgRyb2xlGAogASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZRIUCgxtZW1iZXJfY291bnQYCyABKAUSEwoLdmlwX3ZlcnNpb24YDCABKAkSGgoSY3VycmVudF9wZXJpb2RfZW5kGA0gASgDEhEKCWlzX3llYXJseRgOIAEoCBIUCgx0ZWFtX3VzZXJfaWQYDyABKAkSEgoKbmV4dF9zZWF0cxgQIAEoBRIfCgR0eXBlGBEgASgOMhEudGVhbS52MS5UZWFtVHlwZSLAAQoZTGlzdFRlYW1DcmVkaXRzTG9nUmVxdWVzdBIzCgpzdGFydF9kYXRlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjEKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEgwKBHBhZ2UYAyABKAUSEQoJcGFnZV9zaXplGAQgASgFQg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZSJRChpMaXN0VGVhbUNyZWRpdHNMb2dSZXNwb25zZRIkCgRsb2dzGAEgAygLMhYudGVhbS52MS5UZWFtQ3JlZGl0TG9nEg0KBXRvdGFsGAIgASgFIogBCg1UZWFtQ3JlZGl0TG9nEg8KB3VzZXJfaWQYASABKAkSEQoJdXNlcl9uYW1lGAIgASgJEhMKC3VzZXJfYXZhdGFyGAMgASgJEg8KB2NyZWRpdHMYBCABKAUSLQoJY3JlYXRlX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKlAQofTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVxdWVzdBIzCgpzdGFydF9kYXRlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBEjEKCGVuZF9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBQg0KC19zdGFydF9kYXRlQgsKCV9lbmRfZGF0ZSJaCiBMaXN0VGVhbUNyZWRpdHNTdGF0aXN0aWNSZXNwb25zZRI2CglzdGF0aXN0aWMYASADKAsyIy50ZWFtLnYxLlRlYW1TZXNzaW9uQ3JlZGl0U3RhdGlzdGljIlcKGlRlYW1TZXNzaW9uQ3JlZGl0U3RhdGlzdGljEigKBGRhdGUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB2NyZWRpdHMYAiABKAUiigEKFUxpc3RUZWFtTWVtYmVyUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRIXCgpzZWFyY2hfa2V5GAMgASgJSACIAQESKAoLZmlsdGVyX3R5cGUYBCABKA4yEy50ZWFtLnYxLkZpbHRlclR5cGVCDQoLX3NlYXJjaF9rZXkimwEKClRlYW1NZW1iZXISEAoIdXNlcl91aWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVlbWFpbBgDIAEoCRIOCgZhdmF0YXIYBCABKAkSJwoGc3RhdHVzGAUgASgOMhcudGVhbS52MS5UZWFtVXNlclN0YXR1cxIlCgRyb2xlGAYgASgOMhcudGVhbS52MS5UZWFtTWVtYmVyUm9sZSJTChZMaXN0VGVhbU1lbWJlclJlc3BvbnNlEiQKB21lbWJlcnMYASADKAsyEy50ZWFtLnYxLlRlYW1NZW1iZXISEwoLdG90YWxfY291bnQYAiABKAUqngEKClRlYW1TdGF0dXMSGwoXVEVBTV9TVEFUVVNfVU5TUEVDSUZJRUQQABIXChNURUFNX1NUQVRVU19BQ1RJVkVEEAESFwoTVEVBTV9TVEFUVVNfRVhQSVJFRBACEhwKGFRFQU1fU1RBVFVTX05PX1NVQlNDUklCRRADEiMKH1RFQU1fU1RBVFVTX1NVQlNDUklCRV9DQU5DRUxMRUQQBCpbCgpGaWx0ZXJUeXBlEhsKF0ZJTFRFUl9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTRklMVEVSX1RZUEVfQUxMVVNFUhABEhcKE0ZJTFRFUl9UWVBFX1BFTkRJTkcQAiqpAQoOVGVhbVVzZXJTdGF0dXMSIAocVEVBTV9VU0VSX1NUQVRVU19VTlNQRUNJRklFRBAAEhwKGFRFQU1fVVNFUl9TVEFUVVNfUEVORElORxABEh0KGVRFQU1fVVNFUl9TVEFUVVNfQUNDRVBURUQQAhIbChdURUFNX1VTRVJfU1RBVFVTX0VYSVRFRBADEhsKF1RFQU1fVVNFUl9TVEFUVVNfS0lDS0VEEAQylgUKC1RlYW1TZXJ2aWNlEj8KCExpc3RUZWFtEhgudGVhbS52MS5MaXN0VGVhbVJlcXVlc3QaGS50ZWFtLnYxLkxpc3RUZWFtUmVzcG9uc2USPwoISm9pblRlYW0SGC50ZWFtLnYxLkpvaW5UZWFtUmVxdWVzdBoZLnRlYW0udjEuSm9pblRlYW1SZXNwb25zZRI/CghFeGl0VGVhbRIYLnRlYW0udjEuRXhpdFRlYW1SZXF1ZXN0GhkudGVhbS52MS5FeGl0VGVhbVJlc3BvbnNlEkgKC0dldFRlYW1JbmZvEhsudGVhbS52MS5HZXRUZWFtSW5mb1JlcXVlc3QaHC50ZWFtLnYxLkdldFRlYW1JbmZvUmVzcG9uc2USUQoOTGlzdFRlYW1NZW1iZXISHi50ZWFtLnYxLkxpc3RUZWFtTWVtYmVyUmVxdWVzdBofLnRlYW0udjEuTGlzdFRlYW1NZW1iZXJSZXNwb25zZRJdChJMaXN0VGVhbUNyZWRpdHNMb2cSIi50ZWFtLnYxLkxpc3RUZWFtQ3JlZGl0c0xvZ1JlcXVlc3QaIy50ZWFtLnYxLkxpc3RUZWFtQ3JlZGl0c0xvZ1Jlc3BvbnNlEm8KGExpc3RUZWFtQ3JlZGl0c1N0YXRpc3RpYxIoLnRlYW0udjEuTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVxdWVzdBopLnRlYW0udjEuTGlzdFRlYW1DcmVkaXRzU3RhdGlzdGljUmVzcG9uc2USVwoQTGlzdFRlYW1JbnZvaWNlcxIgLnRlYW0udjEuTGlzdFRlYW1JbnZvaWNlc1JlcXVlc3QaIS50ZWFtLnYxLkxpc3RUZWFtSW52b2ljZXNSZXNwb25zZUKQAQoLY29tLnRlYW0udjFCCVRlYW1Qcm90b1ABWjlnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvdGVhbS92MTt0ZWFtdjGiAgNUWFiqAgdUZWFtLlYxygIHVGVhbVxWMeICE1RlYW1cVjFcR1BCTWV0YWRhdGHqAghUZWFtOjpWMWIGcHJvdG8z",[ee,Nr]),Z1=M(p1,0),G1=z("Chx0ZWFtL3YxL2VkdV90ZWFtX2FkbWluLnByb3RvEgd0ZWFtLnYxImEKFENyZWF0ZUVkdVRlYW1SZXF1ZXN0EgwKBG5hbWUYASABKAkSDgoGYXZhdGFyGAIgASgJEhQKDGVtYWlsX3N1ZmZpeBgDIAMoCRIVCg1zZXNzaW9uX2xpbWl0GAQgASgFIhcKFUNyZWF0ZUVkdVRlYW1SZXNwb25zZSJrChhVcGRhdGVFZHVUZWFtSW5mb1JlcXVlc3QSCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGYXZhdGFyGAMgASgJEg0KBXNlYXRzGAQgASgFEhUKDXNlc3Npb25fbGltaXQYBSABKAUiGwoZVXBkYXRlRWR1VGVhbUluZm9SZXNwb25zZSKYAQoTTGlzdEVkdVRlYW1zUmVxdWVzdBIQCgN1aWQYASABKAlIAIgBARIRCgRuYW1lGAIgASgJSAGIAQESGQoMZW1haWxfc3VmZml4GAMgASgJSAKIAQESDAoEcGFnZRgEIAEoBRIRCglwYWdlX3NpemUYBSABKAVCBgoEX3VpZEIHCgVfbmFtZUIPCg1fZW1haWxfc3VmZml4Iq8BCgdFZHVUZWFtEgsKA3VpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmF2YXRhchgDIAEoCRIUCgxlbWFpbF9zdWZmaXgYBCADKAkSFQoNc2Vzc2lvbl9saW1pdBgFIAEoBRIcChRjdXJyZW50X21lbWJlcl9jb3VudBgGIAEoBRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJGChRMaXN0RWR1VGVhbXNSZXNwb25zZRIfCgV0ZWFtcxgBIAMoCzIQLnRlYW0udjEuRWR1VGVhbRINCgV0b3RhbBgCIAEoBSKIAQoZTGlzdEVkdVRlYW1NZW1iZXJzUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRISCgVlbWFpbBgCIAEoCUgAiAEBEhEKBG5hbWUYAyABKAlIAYgBARIMCgRwYWdlGAQgASgFEhEKCXBhZ2Vfc2l6ZRgFIAEoBUIICgZfZW1haWxCBwoFX25hbWUigQEKDUVkdVRlYW1NZW1iZXISDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJEhIKCnZpcF9zdGF0dXMYBCABKAkSLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiVAoaTGlzdEVkdVRlYW1NZW1iZXJzUmVzcG9uc2USJwoHbWVtYmVycxgBIAMoCzIWLnRlYW0udjEuRWR1VGVhbU1lbWJlchINCgV0b3RhbBgCIAEoBSIvChtHZXRFZHVUZWFtU3RhdGlzdGljc1JlcXVlc3QSEAoIdGVhbV91aWQYASABKAkigwEKHEdldEVkdVRlYW1TdGF0aXN0aWNzUmVzcG9uc2USHAoUY3VycmVudF9tZW1iZXJfY291bnQYASABKAUSFQoNc2Vzc2lvbl9jb3VudBgCIAEoBRIWCg5yZXNvdXJjZV91c2FnZRgDIAEoBRIWCg5yZXNvdXJjZV9xdW90YRgEIAEoBSJ3ChpMaXN0RWR1VGVhbVNlc3Npb25zUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCRIXCgpzZXNzaW9uX2lkGAIgASgJSACIAQESDAoEcGFnZRgDIAEoBRIRCglwYWdlX3NpemUYBCABKAVCDQoLX3Nlc3Npb25faWQihwEKDkVkdVRlYW1TZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAkSDQoFdGl0bGUYAiABKAkSEgoKY3JlYXRlcl9pZBgDIAEoCRIWCg5jb25zdW1lX3BvaW50cxgEIAEoBRIRCglpc19zaGFyZWQYBSABKAgSEwoLY3JlYXRlX3RpbWUYBiABKAMiVwobTGlzdEVkdVRlYW1TZXNzaW9uc1Jlc3BvbnNlEikKCHNlc3Npb25zGAEgAygLMhcudGVhbS52MS5FZHVUZWFtU2Vzc2lvbhINCgV0b3RhbBgCIAEoBSIoChREZWxldGVFZHVUZWFtUmVxdWVzdBIQCgh0ZWFtX3VpZBgBIAEoCSIXChVEZWxldGVFZHVUZWFtUmVzcG9uc2UyhAUKE0VkdVRlYW1BZG1pblNlcnZpY2USTgoNQ3JlYXRlRWR1VGVhbRIdLnRlYW0udjEuQ3JlYXRlRWR1VGVhbVJlcXVlc3QaHi50ZWFtLnYxLkNyZWF0ZUVkdVRlYW1SZXNwb25zZRJaChFVcGRhdGVFZHVUZWFtSW5mbxIhLnRlYW0udjEuVXBkYXRlRWR1VGVhbUluZm9SZXF1ZXN0GiIudGVhbS52MS5VcGRhdGVFZHVUZWFtSW5mb1Jlc3BvbnNlEksKDExpc3RFZHVUZWFtcxIcLnRlYW0udjEuTGlzdEVkdVRlYW1zUmVxdWVzdBodLnRlYW0udjEuTGlzdEVkdVRlYW1zUmVzcG9uc2USXQoSTGlzdEVkdVRlYW1NZW1iZXJzEiIudGVhbS52MS5MaXN0RWR1VGVhbU1lbWJlcnNSZXF1ZXN0GiMudGVhbS52MS5MaXN0RWR1VGVhbU1lbWJlcnNSZXNwb25zZRJjChRHZXRFZHVUZWFtU3RhdGlzdGljcxIkLnRlYW0udjEuR2V0RWR1VGVhbVN0YXRpc3RpY3NSZXF1ZXN0GiUudGVhbS52MS5HZXRFZHVUZWFtU3RhdGlzdGljc1Jlc3BvbnNlEmAKE0xpc3RFZHVUZWFtU2Vzc2lvbnMSIy50ZWFtLnYxLkxpc3RFZHVUZWFtU2Vzc2lvbnNSZXF1ZXN0GiQudGVhbS52MS5MaXN0RWR1VGVhbVNlc3Npb25zUmVzcG9uc2USTgoNRGVsZXRlRWR1VGVhbRIdLnRlYW0udjEuRGVsZXRlRWR1VGVhbVJlcXVlc3QaHi50ZWFtLnYxLkRlbGV0ZUVkdVRlYW1SZXNwb25zZUKYAQoLY29tLnRlYW0udjFCEUVkdVRlYW1BZG1pblByb3RvUAFaOWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC90ZWFtL3YxO3RlYW12MaICA1RYWKoCB1RlYW0uVjHKAgdUZWFtXFYx4gITVGVhbVxWMVxHUEJNZXRhZGF0YeoCCFRlYW06OlYxYgZwcm90bzM",[ee]),X1=M(G1,0),I1=z("Chl0ZWFtL3YxL3RlYW1fcHVibGljLnByb3RvEgd0ZWFtLnYxIjcKHEdldFRlYW1JbnZpdGF0aW9uSW5mb1JlcXVlc3QSFwoPaW52aXRhdGlvbl9jb2RlGAEgASgJIqUBCh1HZXRUZWFtSW52aXRhdGlvbkluZm9SZXNwb25zZRIUCgxpbnZpdGVyX25hbWUYASABKAkSFgoOaW52aXRlcl9hdmF0YXIYAiABKAkSEQoJdGVhbV9uYW1lGAMgASgJEhMKC3RlYW1fYXZhdGFyGAQgASgJEg0KBWVtYWlsGAUgASgJEh8KBHR5cGUYBiABKA4yES50ZWFtLnYxLlRlYW1UeXBlMnsKEVRlYW1QdWJsaWNTZXJ2aWNlEmYKFUdldFRlYW1JbnZpdGF0aW9uSW5mbxIlLnRlYW0udjEuR2V0VGVhbUludml0YXRpb25JbmZvUmVxdWVzdBomLnRlYW0udjEuR2V0VGVhbUludml0YXRpb25JbmZvUmVzcG9uc2VClgEKC2NvbS50ZWFtLnYxQg9UZWFtUHVibGljUHJvdG9QAVo5Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3RlYW0vdjE7dGVhbXYxogIDVFhYqgIHVGVhbS5WMcoCB1RlYW1cVjHiAhNUZWFtXFYxXEdQQk1ldGFkYXRh6gIIVGVhbTo6VjFiBnByb3RvMw",[Nr]),R1=M(I1,0),_s=z("Chxrbm93bGVkZ2UvdjEva25vd2xlZGdlLnByb3RvEgxrbm93bGVkZ2UudjEi9gIKCUtub3dsZWRnZRILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCRIPCgdjb250ZW50GAMgASgJEg8KB3RyaWdnZXIYBCABKAkSDwoHZW5hYmxlZBgFIAEoCBITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgRraW5kGAogASgOMhsua25vd2xlZGdlLnYxLktub3dsZWRnZUtpbmQSEAoIc2hvcnRfaWQYCyABKAkSNAoKdXNhZ2VfdHlwZRgMIAEoDjIgLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VVc2FnZVR5cGUSGAoQdW5pcXVlX2luY19pbmRleBgNIAEoAyLTAwoOS25vd2xlZGdlRXZlbnQSCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEjIKBnN0YXR1cxgFIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgRraW5kGAogASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50S2luZBIfChJrbm93bGVkZ2Vfc2hvcnRfaWQYCyABKAlIAIgBARIVCghzaG9ydF9pZBgMIAEoCUgBiAEBEjQKCnVzYWdlX3R5cGUYDSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlQhUKE19rbm93bGVkZ2Vfc2hvcnRfaWRCCwoJX3Nob3J0X2lkItcDChJTdWdnZXN0ZWRLbm93bGVkZ2USCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEjIKBnN0YXR1cxgFIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgGIAEoCRIZChFzZXNzaW9uX2V2ZW50X3VpZBgHIAEoCRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgRraW5kGAogASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50S2luZBIfChJrbm93bGVkZ2Vfc2hvcnRfaWQYCyABKAlIAIgBARIVCghzaG9ydF9pZBgMIAEoCUgBiAEBEjQKCnVzYWdlX3R5cGUYDSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlQhUKE19rbm93bGVkZ2Vfc2hvcnRfaWRCCwoJX3Nob3J0X2lkItIBChRMaXN0S25vd2xlZGdlUmVxdWVzdBIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUSEwoLc2Vzc2lvbl91aWQYAyABKAkSFAoHZW5hYmxlZBgEIAEoCEgAiAEBEhoKEnJlY29tbWVuZF91aWRfbGlzdBgFIAMoCRI5Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgBiAEBQgoKCF9lbmFibGVkQg0KC191c2FnZV90eXBlIp0BChVMaXN0S25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgAygLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZRINCgV0b3RhbBgCIAEoAxIQCghoYXNfbmV4dBgDIAEoCBIaChJyZWNvbW1lbmRfdWlkX2xpc3QYBSADKAkSGwoTbWF4X2tub3dsZWRnZV9saW1pdBgGIAEoBSKEAQoaTGlzdEtub3dsZWRnZUV2ZW50c1JlcXVlc3QSDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFEjIKBnN0YXR1cxgDIAEoDjIiLmtub3dsZWRnZS52MS5Lbm93bGVkZ2VFdmVudFN0YXR1cxITCgtzZXNzaW9uX3VpZBgEIAEoCSJsChtMaXN0S25vd2xlZGdlRXZlbnRzUmVzcG9uc2USLAoGZXZlbnRzGAEgAygLMhwua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50Eg0KBXRvdGFsGAIgASgDEhAKCGhhc19uZXh0GAMgASgIImoKIVVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVxdWVzdBIRCglldmVudF91aWQYASABKAkSMgoGc3RhdHVzGAIgASgOMiIua25vd2xlZGdlLnYxLktub3dsZWRnZUV2ZW50U3RhdHVzIjUKIlVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLJAQoWQ3JlYXRlS25vd2xlZGdlUmVxdWVzdBIYCgRuYW1lGAEgASgJQgq6SAdyBRABGP8BEg8KB2NvbnRlbnQYAiABKAkSDwoHdHJpZ2dlchgDIAEoCRIPCgdlbmFibGVkGAQgASgIEhoKDXJlY29tbWVuZF91aWQYBSABKAlIAIgBARI0Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUIQCg5fcmVjb21tZW5kX3VpZCJFChdDcmVhdGVLbm93bGVkZ2VSZXNwb25zZRIqCglrbm93bGVkZ2UYASABKAsyFy5rbm93bGVkZ2UudjEuS25vd2xlZGdlItUBChZVcGRhdGVLbm93bGVkZ2VSZXF1ZXN0EhUKDWtub3dsZWRnZV91aWQYASABKAkSFgoEbmFtZRgCIAEoCUIIukgFcgMY/wESDwoHY29udGVudBgDIAEoCRIPCgd0cmlnZ2VyGAQgASgJEhQKB2VuYWJsZWQYBSABKAhIAIgBARI5Cgp1c2FnZV90eXBlGAYgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgBiAEBQgoKCF9lbmFibGVkQg0KC191c2FnZV90eXBlIkUKF1VwZGF0ZUtub3dsZWRnZVJlc3BvbnNlEioKCWtub3dsZWRnZRgBIAEoCzIXLmtub3dsZWRnZS52MS5Lbm93bGVkZ2UiLwoWRGVsZXRlS25vd2xlZGdlUmVxdWVzdBIVCg1rbm93bGVkZ2VfdWlkGAEgASgJIioKF0RlbGV0ZUtub3dsZWRnZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiRwodVXBkYXRlS25vd2xlZGdlRW5hYmxlZFJlcXVlc3QSFQoNa25vd2xlZGdlX3VpZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIjEKHlVwZGF0ZUtub3dsZWRnZUVuYWJsZWRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIk4KGUdldEtub3dsZWRnZURldGFpbFJlcXVlc3QSFQoNa25vd2xlZGdlX3VpZBgBIAEoCRIaChJrbm93bGVkZ2Vfc2hvcnRfaWQYAiABKAkiSAoaR2V0S25vd2xlZGdlRGV0YWlsUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSLaAQobVXBkYXRlS25vd2xlZGdlRXZlbnRSZXF1ZXN0EhEKCWV2ZW50X3VpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESFAoHY29udGVudBgDIAEoCUgBiAEBEhQKB3RyaWdnZXIYBCABKAlIAogBARI5Cgp1c2FnZV90eXBlGAUgASgOMiAua25vd2xlZGdlLnYxLktub3dsZWRnZVVzYWdlVHlwZUgDiAEBQgcKBV9uYW1lQgoKCF9jb250ZW50QgoKCF90cmlnZ2VyQg0KC191c2FnZV90eXBlIksKHFVwZGF0ZUtub3dsZWRnZUV2ZW50UmVzcG9uc2USKwoFZXZlbnQYASABKAsyHC5rbm93bGVkZ2UudjEuS25vd2xlZGdlRXZlbnQiLgoaR2V0QnVpbHRpbktub3dsZWRnZVJlcXVlc3QSEAoIc2hvcnRfaWQYASABKAkiSQobR2V0QnVpbHRpbktub3dsZWRnZVJlc3BvbnNlEioKCWtub3dsZWRnZRgBIAEoCzIXLmtub3dsZWRnZS52MS5Lbm93bGVkZ2UqrAEKFEtub3dsZWRnZUV2ZW50U3RhdHVzEiYKIktOT1dMRURHRV9FVkVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIiCh5LTk9XTEVER0VfRVZFTlRfU1RBVFVTX1BFTkRJTkcQARIjCh9LTk9XTEVER0VfRVZFTlRfU1RBVFVTX0FDQ0VQVEVEEAISIwofS05PV0xFREdFX0VWRU5UX1NUQVRVU19SRUpFQ1RFRBADKmQKDUtub3dsZWRnZUtpbmQSHgoaS05PV0xFREdFX0tJTkRfVU5TUEVDSUZJRUQQABIXChNLTk9XTEVER0VfS0lORF9VU0VSEAESGgoWS05PV0xFREdFX0tJTkRfQlVJTFRJThACKoIBChJLbm93bGVkZ2VVc2FnZVR5cGUSJAogS05PV0xFREdFX1VTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1LTk9XTEVER0VfVVNBR0VfVFlQRV9VU0VfV0hFThABEiMKH0tOT1dMRURHRV9VU0FHRV9UWVBFX0FMV0FZU19VU0UQAiqdAQoSS25vd2xlZGdlRXZlbnRLaW5kEiQKIEtOT1dMRURHRV9FVkVOVF9LSU5EX1VOU1BFQ0lGSUVEEAASHwobS05PV0xFREdFX0VWRU5UX0tJTkRfQ1JFQVRFEAESHwobS05PV0xFREdFX0VWRU5UX0tJTkRfVVBEQVRFEAISHwobS05PV0xFREdFX0VWRU5UX0tJTkRfREVMRVRFEAMysggKEEtub3dsZWRnZVNlcnZpY2USWAoNTGlzdEtub3dsZWRnZRIiLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlUmVxdWVzdBojLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlUmVzcG9uc2USagoTTGlzdEtub3dsZWRnZUV2ZW50cxIoLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlRXZlbnRzUmVxdWVzdBopLmtub3dsZWRnZS52MS5MaXN0S25vd2xlZGdlRXZlbnRzUmVzcG9uc2USfwoaVXBkYXRlS25vd2xlZGdlRXZlbnRTdGF0dXMSLy5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlRXZlbnRTdGF0dXNSZXF1ZXN0GjAua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZUV2ZW50U3RhdHVzUmVzcG9uc2USXgoPQ3JlYXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLkNyZWF0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuQ3JlYXRlS25vd2xlZGdlUmVzcG9uc2USXgoPVXBkYXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlUmVzcG9uc2USXgoPRGVsZXRlS25vd2xlZGdlEiQua25vd2xlZGdlLnYxLkRlbGV0ZUtub3dsZWRnZVJlcXVlc3QaJS5rbm93bGVkZ2UudjEuRGVsZXRlS25vd2xlZGdlUmVzcG9uc2UScwoWVXBkYXRlS25vd2xlZGdlRW5hYmxlZBIrLmtub3dsZWRnZS52MS5VcGRhdGVLbm93bGVkZ2VFbmFibGVkUmVxdWVzdBosLmtub3dsZWRnZS52MS5VcGRhdGVLbm93bGVkZ2VFbmFibGVkUmVzcG9uc2USZwoSR2V0S25vd2xlZGdlRGV0YWlsEicua25vd2xlZGdlLnYxLkdldEtub3dsZWRnZURldGFpbFJlcXVlc3QaKC5rbm93bGVkZ2UudjEuR2V0S25vd2xlZGdlRGV0YWlsUmVzcG9uc2USbQoUVXBkYXRlS25vd2xlZGdlRXZlbnQSKS5rbm93bGVkZ2UudjEuVXBkYXRlS25vd2xlZGdlRXZlbnRSZXF1ZXN0Gioua25vd2xlZGdlLnYxLlVwZGF0ZUtub3dsZWRnZUV2ZW50UmVzcG9uc2USagoTR2V0QnVpbHRpbktub3dsZWRnZRIoLmtub3dsZWRnZS52MS5HZXRCdWlsdGluS25vd2xlZGdlUmVxdWVzdBopLmtub3dsZWRnZS52MS5HZXRCdWlsdGluS25vd2xlZGdlUmVzcG9uc2VCuAEKEGNvbS5rbm93bGVkZ2UudjFCDktub3dsZWRnZVByb3RvUAFaQ2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9rbm93bGVkZ2UvdjE7a25vd2xlZGdldjGiAgNLWFiqAgxLbm93bGVkZ2UuVjHKAgxLbm93bGVkZ2VcVjHiAhhLbm93bGVkZ2VcVjFcR1BCTWV0YWRhdGHqAg1Lbm93bGVkZ2U6OlYxYgZwcm90bzM",[Ye,ee]),E1=M(_s,0),y1=z("CiJrbm93bGVkZ2UvdjEva25vd2xlZGdlX2FkbWluLnByb3RvEgxrbm93bGVkZ2UudjEiOwoaTGlzdFN5c3RlbUtub3dsZWRnZVJlcXVlc3QSDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFImoKG0xpc3RTeXN0ZW1Lbm93bGVkZ2VSZXNwb25zZRIqCglrbm93bGVkZ2UYASADKAsyFy5rbm93bGVkZ2UudjEuS25vd2xlZGdlEg0KBXRvdGFsGAIgASgDEhAKCGhhc19uZXh0GAMgASgIIpgBChxDcmVhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSDwoHY29udGVudBgCIAEoCRIPCgd0cmlnZ2VyGAMgASgJEjkKCnVzYWdlX3R5cGUYBCABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlSACIAQFCDQoLX3VzYWdlX3R5cGUiSwodQ3JlYXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSK/AgocVXBkYXRlU3lzdGVtS25vd2xlZGdlUmVxdWVzdBIVCg1rbm93bGVkZ2VfdWlkGAEgASgJEhEKBG5hbWUYAiABKAlIAIgBARIUCgdjb250ZW50GAMgASgJSAGIAQESFAoHdHJpZ2dlchgEIAEoCUgCiAEBEjkKCnVzYWdlX3R5cGUYBSABKA4yIC5rbm93bGVkZ2UudjEuS25vd2xlZGdlVXNhZ2VUeXBlSAOIAQESGQoMaWRfZm9yX21hbnVzGAYgASgFSASIAQESHQoQdW5pcXVlX2luY19pbmRleBgHIAEoBUgFiAEBQgcKBV9uYW1lQgoKCF9jb250ZW50QgoKCF90cmlnZ2VyQg0KC191c2FnZV90eXBlQg8KDV9pZF9mb3JfbWFudXNCEwoRX3VuaXF1ZV9pbmNfaW5kZXgiSwodVXBkYXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USKgoJa25vd2xlZGdlGAEgASgLMhcua25vd2xlZGdlLnYxLktub3dsZWRnZSI1ChxEZWxldGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0EhUKDWtub3dsZWRnZV91aWQYASABKAkiMAodRGVsZXRlU3lzdGVtS25vd2xlZGdlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCDLZAwoVS25vd2xlZGdlQWRtaW5TZXJ2aWNlEmoKE0xpc3RTeXN0ZW1Lbm93bGVkZ2USKC5rbm93bGVkZ2UudjEuTGlzdFN5c3RlbUtub3dsZWRnZVJlcXVlc3QaKS5rbm93bGVkZ2UudjEuTGlzdFN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFUNyZWF0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5DcmVhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLkNyZWF0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFVVwZGF0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5VcGRhdGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLlVwZGF0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlEnAKFURlbGV0ZVN5c3RlbUtub3dsZWRnZRIqLmtub3dsZWRnZS52MS5EZWxldGVTeXN0ZW1Lbm93bGVkZ2VSZXF1ZXN0Gisua25vd2xlZGdlLnYxLkRlbGV0ZVN5c3RlbUtub3dsZWRnZVJlc3BvbnNlQr0BChBjb20ua25vd2xlZGdlLnYxQhNLbm93bGVkZ2VBZG1pblByb3RvUAFaQ2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9rbm93bGVkZ2UvdjE7a25vd2xlZGdldjGiAgNLWFiqAgxLbm93bGVkZ2UuVjHKAgxLbm93bGVkZ2VcVjHiAhhLbm93bGVkZ2VcVjFcR1BCTWV0YWRhdGHqAg1Lbm93bGVkZ2U6OlYxYgZwcm90bzM",[_s]),v1=M(y1,0),Fr=z("ChRzcGFjZS92MS9zcGFjZS5wcm90bxIIc3BhY2UudjEiZgoVU2V0U3BhY2VTdGF0dXNSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhEKCWV2ZW50X3VpZBgCIAEoCRIlCgZzdGF0dXMYAyABKA4yFS5zcGFjZS52MS5TcGFjZVN0YXR1cyIpChZTZXRTcGFjZVN0YXR1c1Jlc3BvbnNlEg8KB1N1Y2Nlc3MYASABKAgikgQKD1NwYWNlU3RhdHVzSW5mbxIqCgZzdGF0dXMYASABKA4yFS5zcGFjZS52MS5TcGFjZVN0YXR1c0gAiAEBEhEKCXNwYWNlX3VpZBgCIAEoCRIRCglzcGFjZV9VcmwYAyABKAkSHgoWcHVibGlzaGVkX3RvX2NvbW11bml0eRgEIAEoCBJAChdzdWJfZG9tYWluX2F1ZGl0X3N0YXR1cxgFIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXNIAYgBARIxCg1kZXBsb3llZF90aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpzdWJfZG9tYWluGAcgASgJSAKIAQESDQoFdGl0bGUYCCABKAkSEwoLc2Vzc2lvbl91aWQYCSABKAkSEQoJZXZlbnRfdWlkGAogASgJEh0KEHN1Yl9kb21haW5fYXVkaXQYCyABKAlIA4gBARIrCgxhdWRpdF9zdGF0dXMYDCABKA4yFS5zcGFjZS52MS5BdWRpdFN0YXR1cxIxCgxSaXNrQ2F0ZWdvcnkYDSADKA4yGy5zcGFjZS52MS5TcGFjZVJpc2tDYXRlZ29yeUIJCgdfc3RhdHVzQhoKGF9zdWJfZG9tYWluX2F1ZGl0X3N0YXR1c0INCgtfc3ViX2RvbWFpbkITChFfc3ViX2RvbWFpbl9hdWRpdCJZChlQYWdlR2V0VXNlclNwYWNlc1Jlc3BvbnNlEi0KCnNwYWNlX2luZm8YAiADKAsyGS5zcGFjZS52MS5TcGFjZVN0YXR1c0luZm8SDQoFdG90YWwYAyABKAUiLAoVR2V0U3BhY2VTdGF0dXNSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIl8KFkdldFNwYWNlU3RhdHVzUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBI0ChFzcGFjZV9zdGF0dXNfaW5mbxgCIAMoCzIZLnNwYWNlLnYxLlNwYWNlU3RhdHVzSW5mbyI1ChRQYWdlR2V0VXNlclNwYWNlc1JlcRIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUiPgoVRWRpdFNwYWNlU3ViRG9tYWluUmVxEhEKCXNwYWNlX3VpZBgBIAEoCRISCgpzdWJfZG9tYWluGAIgASgJIhwKGkVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlIhkKF0dldEVkaXRTcGFjZVNpdGVDb2RlUmVxIk8KHEdldEVkaXRTcGFjZVNpdGVDb2RlUmVzcG9uc2USFwoPZWRpdF9zcGFjZV9jb2RlGAEgASgJEhYKDnZhbGlkX2R1cmF0aW9uGAIgASgDIjEKHUhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXF1ZXN0EhAKCHNwYWNlX2lkGAEgASgJIjIKHkhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXNwb25zZRIQCghjYW5fZWRpdBgBIAEoCCIvChpSZXN0b3JlT3JpZ2luYWxTaXRlUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiLgobUmVzdG9yZU9yaWdpbmFsU2l0ZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiRgobU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXF1ZXN0EhEKCXNwYWNlX3VpZBgBIAEoCRIUCgx3ZWJfcmF3X2RhdGEYAiABKAkiLwocU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIKlkKC1NwYWNlU3RhdHVzEhoKFlNQQUNFX1NUQVRVU19JTlZJU0lCTEUQABIYChRTUEFDRV9TVEFUVVNfVklTSUJMRRABEhQKEFNQQUNFX1NUQVRVU19CQU4QAipHCg5TcGFjZVN5c1N0YXR1cxIbChdTUEFDRV9TWVNfU1RBVFVTX05PUk1BTBAAEhgKFFNQQUNFX1NZU19TVEFUVVNfQkFOEAEqXQoLQXVkaXRTdGF0dXMSGAoUQVVESVRfU1RBVFVTX1BFTkRJTkcQABIZChVBVURJVF9TVEFUVVNfQVBQUk9WRUQQARIZChVBVURJVF9TVEFUVVNfUkVKRUNURUQQAiqYAQoQU3BhY2VBdWRpdFN0YXR1cxIdChlTUEFDRV9BVURJVF9TVEFUVVNfQ09NTUlUEAASGwoXU1BBQ0VfQVVESVRfU1RBVFVTX1BBU1MQARIdChlTUEFDRV9BVURJVF9TVEFUVVNfUkVKRUNUEAISKQolU1BBQ0VfQVVESVRfU1RBVFVTX05FRURfTUFOVUFMX1JFVklFVxAEKpIIChFTcGFjZVJpc2tDYXRlZ29yeRIlCiFDT05URU5UX1JJU0tfQ0FURUdPUllfVU5TUEVDSUZJRUQQABIPCgtTWVNURU1fUEFUSBABEhUKEUNPTU1BTkRfSU5KRUNUSU9OEAISFgoSU1BFQ0lBTF9DSEFSX0FCVVNFEAMSFAoQUkVTRVJWRURfS0VZV09SRBAEEg4KCkJSQU5EX05BTUUQBRINCglDT1BZUklHSFQQBhISCg5DRUxFQlJJVFlfTkFNRRAHEhQKEFBST1RFQ1RFRF9ET01BSU4QCBIOCgpMRUdBTF9SSVNLEAkSEwoPQ09OVFJPTExFRF9JVEVNEAoSEwoPRklOQU5DSUFMX0ZSQVVEEAsSFQoRRkFMU0VfQURWRVJUSVNJTkcQDBIWChJSRUdJT05BTF9TRU5TSVRJVkUQDRISCg5QUk9GQU5JVFlfTUlMRBAOEhYKElBST0ZBTklUWV9NT0RFUkFURRAPEhQKEFBST0ZBTklUWV9TRVZFUkUQEBIZChVESVNDUklNSU5BVElPTl9SQUNJQUwQERIZChVESVNDUklNSU5BVElPTl9HRU5ERVIQEhIcChhESVNDUklNSU5BVElPTl9SRUxJR0lPVVMQExIWChJESVNDUklNSU5BVElPTl9BR0UQFBIdChlESVNDUklNSU5BVElPTl9ESVNBQklMSVRZEBUSFQoRU0VYVUFMX1NVR0dFU1RJVkUQFhITCg9TRVhVQUxfRVhQTElDSVQQFxIQCgxTRVhVQUxfTUlOT1IQGBIUChBWSU9MRU5DRV9HRU5FUkFMEBkSFAoQVklPTEVOQ0VfRVhUUkVNRRAaEhQKEFZJT0xFTkNFX1dFQVBPTlMQGxIWChJWSU9MRU5DRV9URVJST1JJU00QHBISCg5NSVNJTkZPUk1BVElPThAdEgwKCFBISVNISU5HEB4SEQoNSU1QRVJTT05BVElPThAfEhQKEERFQ0VQVElWRV9ET01BSU4QIBISCg5DVUxUVVJBTF9UQUJPTxAhEhQKEE1VTFRJTElOR1VBTF9QVU4QIhIWChJJTVBMSUNJVF9SRUZFUkVOQ0UQIxISCg5FTUVSR0lOR19TTEFORxAkEggKBFNQQU0QJRIWChJNRUFOSU5HTEVTU19TVFJJTkcQJhIYChRFWENFU1NJVkVfUkVQRVRJVElPThAnEhAKDFNQRUNJQUxfQ0FTRRAoEhIKDkVWQVNJT05fUElOWUlOECkSFwoTRVZBU0lPTl9QSU5ZSU5fQUJCUhAqEhgKFEVWQVNJT05fTUlYRURfU0NSSVBUECsSFQoRRVZBU0lPTl9IT01PR1JBUEgQLBIcChhFVkFTSU9OX0NIQVJfUkVQTEFDRU1FTlQQLTKKBgoMU3BhY2VTZXJ2aWNlElMKDlNldFNwYWNlU3RhdHVzEh8uc3BhY2UudjEuU2V0U3BhY2VTdGF0dXNSZXF1ZXN0GiAuc3BhY2UudjEuU2V0U3BhY2VTdGF0dXNSZXNwb25zZRJTCg5HZXRTcGFjZVN0YXR1cxIfLnNwYWNlLnYxLkdldFNwYWNlU3RhdHVzUmVxdWVzdBogLnNwYWNlLnYxLkdldFNwYWNlU3RhdHVzUmVzcG9uc2USWAoRUGFnZUdldFVzZXJTcGFjZXMSHi5zcGFjZS52MS5QYWdlR2V0VXNlclNwYWNlc1JlcRojLnNwYWNlLnYxLlBhZ2VHZXRVc2VyU3BhY2VzUmVzcG9uc2USWwoSRWRpdFNwYWNlU3ViRG9tYWluEh8uc3BhY2UudjEuRWRpdFNwYWNlU3ViRG9tYWluUmVxGiQuc3BhY2UudjEuRWRpdFNwYWNlU3ViRG9tYWluUmVzcG9uc2USYQoUR2V0RWRpdFNwYWNlU2l0ZUNvZGUSIS5zcGFjZS52MS5HZXRFZGl0U3BhY2VTaXRlQ29kZVJlcRomLnNwYWNlLnYxLkdldEVkaXRTcGFjZVNpdGVDb2RlUmVzcG9uc2USawoWSGFzU3BhY2VFZGl0UGVybWlzc2lvbhInLnNwYWNlLnYxLkhhc1NwYWNlRWRpdFBlcm1pc3Npb25SZXF1ZXN0Giguc3BhY2UudjEuSGFzU3BhY2VFZGl0UGVybWlzc2lvblJlc3BvbnNlEmUKFFNhdmVTcGFjZVNpdGVSYXdEYXRhEiUuc3BhY2UudjEuU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXF1ZXN0GiYuc3BhY2UudjEuU2F2ZVNwYWNlU2l0ZVJhd0RhdGFSZXNwb25zZRJiChNSZXN0b3JlT3JpZ2luYWxTaXRlEiQuc3BhY2UudjEuUmVzdG9yZU9yaWdpbmFsU2l0ZVJlcXVlc3QaJS5zcGFjZS52MS5SZXN0b3JlT3JpZ2luYWxTaXRlUmVzcG9uc2VCmAEKDGNvbS5zcGFjZS52MUIKU3BhY2VQcm90b1ABWjtnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc3BhY2UvdjE7c3BhY2V2MaICA1NYWKoCCFNwYWNlLlYxygIIU3BhY2VcVjHiAhRTcGFjZVxWMVxHUEJNZXRhZGF0YeoCCVNwYWNlOjpWMWIGcHJvdG8z",[ee]),S1=M(Fr,0),C1=z("ChtzcGFjZS92MS9zcGFjZV9wdWJsaWMucHJvdG8SCHNwYWNlLnYxIioKFUdldFNwYWNlRGV0YWlsUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkingEKFkdldFNwYWNlRGV0YWlsUmVzcG9uc2USKgoGc3RhdHVzGAEgASgOMhUuc3BhY2UudjEuU3BhY2VTdGF0dXNIAIgBARIRCglzcGFjZV91cmwYAiABKAkSIQoUc2l0ZV9yYXdfZGF0YV9zM191cmwYAyABKAlIAYgBAUIJCgdfc3RhdHVzQhcKFV9zaXRlX3Jhd19kYXRhX3MzX3VybCI3ChxHZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXF1ZXN0EhcKD2VkaXRfc3BhY2VfY29kZRgBIAEoCSI1Ch1HZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXNwb25zZRIUCgxhY2Nlc3NfdG9rZW4YASABKAkyqAIKElNwYWNlUHVibGljU2VydmljZRJTCg5HZXRTcGFjZURldGFpbBIfLnNwYWNlLnYxLkdldFNwYWNlRGV0YWlsUmVxdWVzdBogLnNwYWNlLnYxLkdldFNwYWNlRGV0YWlsUmVzcG9uc2USUwoOR2V0U3BhY2VTdGF0dXMSHy5zcGFjZS52MS5HZXRTcGFjZVN0YXR1c1JlcXVlc3QaIC5zcGFjZS52MS5HZXRTcGFjZVN0YXR1c1Jlc3BvbnNlEmgKFUdldEVkaXRTcGFjZVNpdGVUb2tlbhImLnNwYWNlLnYxLkdldEVkaXRTcGFjZVNpdGVUb2tlblJlcXVlc3QaJy5zcGFjZS52MS5HZXRFZGl0U3BhY2VTaXRlVG9rZW5SZXNwb25zZUKeAQoMY29tLnNwYWNlLnYxQhBTcGFjZVB1YmxpY1Byb3RvUAFaO2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zcGFjZS92MTtzcGFjZXYxogIDU1hYqgIIU3BhY2UuVjHKAghTcGFjZVxWMeICFFNwYWNlXFYxXEdQQk1ldGFkYXRh6gIJU3BhY2U6OlYxYgZwcm90bzM",[Ye,ee,Fr]),W1=M(C1,0),B1=z("ChpzcGFjZS92MS9zcGFjZV9hZG1pbi5wcm90bxIIc3BhY2UudjEiNgoRQmxvY2tTcGFjZVJlcXVlc3QSEQoJc3BhY2VfdWlkGAEgASgJEg4KBnJlbWFyaxgCIAEoCSIlChJCbG9ja1NwYWNlUmVzcG9uc2USDwoHU3VjY2VzcxgBIAEoCCKBAQoOU3BhY2VCbG9ja0luZm8SCgoCaWQYASABKAMSEQoJc3BhY2VfdWlkGAIgASgJEg4KBnJlbWFyaxgDIAEoCRIQCghvcGVyYXRvchgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIpChRVbmJsb2NrU3BhY2VzUmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiJwoUVW5ibG9ja1NwYWNlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJyChVTcGFjZUJsb2NrTGlzdFJlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIoARIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQoARIWCglzcGFjZV91aWQYAyABKAlIAIgBAUIMCgpfc3BhY2VfdWlkIlsKFlNwYWNlQmxvY2tMaXN0UmVzcG9uc2USMgoQc3BhY2VfYmxvY2tfbGlzdBgBIAMoCzIYLnNwYWNlLnYxLlNwYWNlQmxvY2tJbmZvEg0KBXRvdGFsGAIgASgDIpECChZBdWRpdFNwYWNlU3ViRG9tYWluUmVxEgoKAmlkGAEgASgDEhEKCXNwYWNlX3VpZBgCIAEoCRISCgpzdWJfZG9tYWluGAMgASgJEioKBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXMSGgoNcmVqZWN0X3JlYXNvbhgFIAEoCUgAiAEBEh4KEWFkZF9ibG9ja19jb250ZW50GAYgASgJSAGIAQESNAoPcmlza19jYXRlZ29yaWVzGAcgAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnlCEAoOX3JlamVjdF9yZWFzb25CFAoSX2FkZF9ibG9ja19jb250ZW50Ih0KG0F1ZGl0U3BhY2VTdWJEb21haW5SZXNwb25zZSKgAQodUGFnZUdldEF1ZGl0U3BhY2VTdWJEb21haW5SZXESDgoGb2Zmc2V0GAEgASgFEg0KBWxpbWl0GAIgASgFEhYKCXNwYWNlX3VpZBgDIAEoCUgAiAEBEi8KBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXNIAYgBAUIMCgpfc3BhY2VfdWlkQgkKB19zdGF0dXMitQMKF0F1ZGl0U3BhY2VTdWJEb21haW5JbmZvEgoKAmlkGAEgASgDEhEKCXNwYWNlX3VpZBgCIAEoCRISCgpzdWJfZG9tYWluGAMgASgJEioKBnN0YXR1cxgEIAEoDjIaLnNwYWNlLnYxLlNwYWNlQXVkaXRTdGF0dXMSEwoLc2Vzc2lvbl91aWQYBSABKAkSEQoJZXZlbnRfdWlkGAYgASgJEg8KB3VzZXJfaWQYByABKAkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKYXVkaXRvcl9pZBgJIAEoCRIVCg1yZWplY3RfcmVhc29uGAogASgJEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDHNwYWNlX3N0YXR1cxgMIAEoDjIVLnNwYWNlLnYxLlNwYWNlU3RhdHVzSACIAQESNAoPcmlza19jYXRlZ29yaWVzGA0gAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnlCDwoNX3NwYWNlX3N0YXR1cyJ7CiJQYWdlR2V0QXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEkYKG2F1ZGl0X3NwYWNlX3N1Yl9kb21haW5faW5mbxgBIAMoCzIhLnNwYWNlLnYxLkF1ZGl0U3BhY2VTdWJEb21haW5JbmZvEg0KBXRvdGFsGAIgASgFIj8KHlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUiXQojUGFnZVNwYWNlU3ViRG9tYWluQmxvY2tXb3JkUmVzcG9uc2USJwoKYmxvY2tfd29yZBgBIAMoCzITLnNwYWNlLnYxLkJsb2NrV29yZBINCgV0b3RhbBgCIAEoBSKjAQoJQmxvY2tXb3JkEgoKAmlkGAEgASgFEhIKCmJsb2NrX3dvcmQYAiABKAkSLgoKY3JlYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEAoIb3BlcmF0b3IYBCABKAkSNAoPcmlza19jYXRlZ29yaWVzGAcgAygOMhsuc3BhY2UudjEuU3BhY2VSaXNrQ2F0ZWdvcnkiaQodQWRkU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXESEgoKYmxvY2tfd29yZBgBIAEoCRI0Cg9yaXNrX2NhdGVnb3JpZXMYByADKA4yGy5zcGFjZS52MS5TcGFjZVJpc2tDYXRlZ29yeSIzCh1EZWxTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRISCgpibG9ja193b3JkGAEgASgJIiQKIkFkZFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkUmVzcG9uc2UiJAoiRGVsU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXNwb25zZTK4BgoRU3BhY2VBZG1pblNlcnZpY2USRwoKQmxvY2tTcGFjZRIbLnNwYWNlLnYxLkJsb2NrU3BhY2VSZXF1ZXN0Ghwuc3BhY2UudjEuQmxvY2tTcGFjZVJlc3BvbnNlEk4KDFVuYmxvY2tTcGFjZRIeLnNwYWNlLnYxLlVuYmxvY2tTcGFjZXNSZXF1ZXN0Gh4uc3BhY2UudjEuVW5ibG9ja1NwYWNlUmVzcG9uc2USUwoOU3BhY2VCbG9ja0xpc3QSHy5zcGFjZS52MS5TcGFjZUJsb2NrTGlzdFJlcXVlc3QaIC5zcGFjZS52MS5TcGFjZUJsb2NrTGlzdFJlc3BvbnNlEnMKGlBhZ2VHZXRBdWRpdFNwYWNlU3ViRG9tYWluEicuc3BhY2UudjEuUGFnZUdldEF1ZGl0U3BhY2VTdWJEb21haW5SZXEaLC5zcGFjZS52MS5QYWdlR2V0QXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEl4KE0F1ZGl0U3BhY2VTdWJEb21haW4SIC5zcGFjZS52MS5BdWRpdFNwYWNlU3ViRG9tYWluUmVxGiUuc3BhY2UudjEuQXVkaXRTcGFjZVN1YkRvbWFpblJlc3BvbnNlEnYKG1BhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZBIoLnNwYWNlLnYxLlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlcRotLnNwYWNlLnYxLlBhZ2VTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlEnMKGkRlbFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkEicuc3BhY2UudjEuRGVsU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXEaLC5zcGFjZS52MS5EZWxTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlEnMKGkFkZFNwYWNlU3ViRG9tYWluQmxvY2tXb3JkEicuc3BhY2UudjEuQWRkU3BhY2VTdWJEb21haW5CbG9ja1dvcmRSZXEaLC5zcGFjZS52MS5BZGRTcGFjZVN1YkRvbWFpbkJsb2NrV29yZFJlc3BvbnNlQp0BCgxjb20uc3BhY2UudjFCD1NwYWNlQWRtaW5Qcm90b1ABWjtnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc3BhY2UvdjE7c3BhY2V2MaICA1NYWKoCCFNwYWNlLlYxygIIU3BhY2VcVjHiAhRTcGFjZVxWMVxHUEJNZXRhZGF0YeoCCVNwYWNlOjpWMWIGcHJvdG8z",[ee,Ye,Fr]),N1=M(B1,0),F1=z("Ch9hcGlwcm94eS92MS9hcGlwcm94eV9iYXNlLnByb3RvEgthcGlwcm94eS52MSKxAgoKQXBpRXhhbXBsZRIMCgRuYW1lGAEgASgJEg4KBmFwaV9pZBgCIAEoCRIxCgVxdWVyeRgDIAMoCzIiLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUuUXVlcnlFbnRyeRIqCgRib2R5GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEjwKC3BhdGhfcGFyYW1zGAYgAygLMicuYXBpcHJveHkudjEuQXBpRXhhbXBsZS5QYXRoUGFyYW1zRW50cnkaLAoKUXVlcnlFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjEKD1BhdGhQYXJhbXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgcKBV9ib2R5Il0KCUFwaURldGFpbBIQCghzaG9ydF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGRvY3MYAyABKAkSEAoIYXBpX25hbWUYBCABKAkSEAoIdXNlX3doZW4YBSABKAkiuwIKDkFwaVJlcXVlc3RJbmZvEgwKBGhvc3QYASABKAkSDAoEcGF0aBgCIAEoCRIOCgZtZXRob2QYAyABKAkSSAoPZGVmYXVsdF9oZWFkZXJzGAUgAygLMi8uYXBpcHJveHkudjEuQXBpUmVxdWVzdEluZm8uRGVmYXVsdEhlYWRlcnNFbnRyeRJGCg5kZWZhdWx0X3BhcmFtcxgGIAMoCzIuLmFwaXByb3h5LnYxLkFwaVJlcXVlc3RJbmZvLkRlZmF1bHRQYXJhbXNFbnRyeRo1ChNEZWZhdWx0SGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNAoSRGVmYXVsdFBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiuAEKB0FwaUluZm8SDAoEbmFtZRgBIAEoCRIQCghhcGlfbmFtZRgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIQCgh1c2Vfd2hlbhgEIAEoCRILCgNkb2MYBSABKAkSMQoMcmVxdWVzdF9pbmZvGAYgASgLMhsuYXBpcHJveHkudjEuQXBpUmVxdWVzdEluZm8SKQoIZXhhbXBsZXMYByADKAsyFy5hcGlwcm94eS52MS5BcGlFeGFtcGxlIpEFCglBcGlTZWNyZXQSMgoJYXV0aF90eXBlGAEgASgOMh8uYXBpcHJveHkudjEuQXBpU2VjcmV0LkF1dGhUeXBlEjIKB2FwaV9rZXkYAiABKAsyIS5hcGlwcm94eS52MS5BcGlTZWNyZXQuQXBpS2V5QXV0aBIvCgViYXNpYxgDIAEoCzIgLmFwaXByb3h5LnYxLkFwaVNlY3JldC5CYXNpY0F1dGgSMQoGb2F1dGgyGAQgASgLMiEuYXBpcHJveHkudjEuQXBpU2VjcmV0Lk9BdXRoMkF1dGgaOQoKQXBpS2V5QXV0aBILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRIQCghpbl9xdWVyeRgDIAEoCBovCglCYXNpY0F1dGgSEAoIdXNlcm5hbWUYASABKAkSEAoIcGFzc3dvcmQYAiABKAka3QEKCk9BdXRoMkF1dGgSEQoJY2xpZW50X2lkGAEgASgJEhUKDWNsaWVudF9zZWNyZXQYAiABKAkSEQoJdG9rZW5fdXJsGAMgASgJEhQKDGFjY2Vzc190b2tlbhgEIAEoCRJICgxleHRyYV9wYXJhbXMYBSADKAsyMi5hcGlwcm94eS52MS5BcGlTZWNyZXQuT0F1dGgyQXV0aC5FeHRyYVBhcmFtc0VudHJ5GjIKEEV4dHJhUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJsCghBdXRoVHlwZRIZChVBVVRIX1RZUEVfVU5TUEVDSUZJRUQQABIVChFBVVRIX1RZUEVfQVBJX0tFWRABEhgKFEFVVEhfVFlQRV9CQVNJQ19BVVRIEAISFAoQQVVUSF9UWVBFX09BVVRIMhADQrQBCg9jb20uYXBpcHJveHkudjFCEUFwaXByb3h5QmFzZVByb3RvUAFaQWdpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9hcGlwcm94eS92MTthcGlwcm94eXYxogIDQVhYqgILQXBpcHJveHkuVjHKAgtBcGlwcm94eVxWMeICF0FwaXByb3h5XFYxXEdQQk1ldGFkYXRh6gIMQXBpcHJveHk6OlYxYgZwcm90bzM",[He]),js=z("ChphcGlwcm94eS92MS9hcGlwcm94eS5wcm90bxILYXBpcHJveHkudjEirwIKDkNhbGxBcGlSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRI1CgVxdWVyeRgCIAMoCzImLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0LlF1ZXJ5RW50cnkSKgoEYm9keRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARJACgtwYXRoX3BhcmFtcxgFIAMoCzIrLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0LlBhdGhQYXJhbXNFbnRyeRosCgpRdWVyeUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMQoPUGF0aFBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCBwoFX2JvZHkijwEKD0NhbGxBcGlSZXNwb25zZRIRCglqc29uX2RhdGEYASABKAkSKgoEZGF0YRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAIgBARIRCgRjb2RlGAMgASgFSAGIAQESEAoDbXNnGAQgASgJSAKIAQFCBwoFX2RhdGFCBwoFX2NvZGVCBgoEX21zZzJZCg9BcGlQcm94eVNlcnZpY2USRgoHQ2FsbEFwaRIbLmFwaXByb3h5LnYxLkNhbGxBcGlSZXF1ZXN0GhwuYXBpcHJveHkudjEuQ2FsbEFwaVJlc3BvbnNlIgBCsAEKD2NvbS5hcGlwcm94eS52MUINQXBpcHJveHlQcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYXBpcHJveHkvdjE7YXBpcHJveHl2MaICA0FYWKoCC0FwaXByb3h5LlYxygILQXBpcHJveHlcVjHiAhdBcGlwcm94eVxWMVxHUEJNZXRhZGF0YeoCDEFwaXByb3h5OjpWMWIGcHJvdG8z",[He]),Y1=M(js,0),U1=z("CiBhcGlwcm94eS92MS9hcGlwcm94eV9hZG1pbi5wcm90bxILYXBpcHJveHkudjEijQEKEENyZWF0ZUFwaVJlcXVlc3QSJgoIYXBpX2luZm8YASABKAsyFC5hcGlwcm94eS52MS5BcGlJbmZvEiYKBnNlY3JldBgCIAEoCzIWLmFwaXByb3h5LnYxLkFwaVNlY3JldBIpCghleGFtcGxlcxgDIAMoCzIXLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUiIwoRQ3JlYXRlQXBpUmVzcG9uc2USDgoGYXBpX2lkGAEgASgJIp0BChBVcGRhdGVBcGlSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRImCghhcGlfaW5mbxgCIAEoCzIULmFwaXByb3h5LnYxLkFwaUluZm8SJgoGc2VjcmV0GAMgASgLMhYuYXBpcHJveHkudjEuQXBpU2VjcmV0EikKCGV4YW1wbGVzGAQgAygLMhcuYXBpcHJveHkudjEuQXBpRXhhbXBsZSIkChFVcGRhdGVBcGlSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIiIKEERlbGV0ZUFwaVJlcXVlc3QSDgoGYXBpX2lkGAEgASgJIiQKEURlbGV0ZUFwaVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiHwoNR2V0QXBpUmVxdWVzdBIOCgZhcGlfaWQYASABKAki+wEKDkdldEFwaVJlc3BvbnNlEg4KBmFwaV9pZBgBIAEoCRImCghhcGlfaW5mbxgCIAEoCzIULmFwaXByb3h5LnYxLkFwaUluZm8SJgoGc2VjcmV0GAMgASgLMhYuYXBpcHJveHkudjEuQXBpU2VjcmV0Ei4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEikKCGV4YW1wbGVzGAYgAygLMhcuYXBpcHJveHkudjEuQXBpRXhhbXBsZSJRCg5MaXN0QXBpUmVxdWVzdBIOCgZvZmZzZXQYASABKAUSDQoFbGltaXQYAiABKAUSFAoHa2V5d29yZBgDIAEoCUgAiAEBQgoKCF9rZXl3b3JkIksKD0xpc3RBcGlSZXNwb25zZRINCgV0b3RhbBgBIAEoBRIpCgRhcGlzGAIgAygLMhsuYXBpcHJveHkudjEuR2V0QXBpUmVzcG9uc2UiVQoYVXBkYXRlQXBpRXhhbXBsZXNSZXF1ZXN0Eg4KBmFwaV9pZBgBIAEoCRIpCghleGFtcGxlcxgCIAMoCzIXLmFwaXByb3h5LnYxLkFwaUV4YW1wbGUiLAoZVXBkYXRlQXBpRXhhbXBsZXNSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIMr0EChRBcGlQcm94eUFkbWluU2VydmljZRJMCglDcmVhdGVBcGkSHS5hcGlwcm94eS52MS5DcmVhdGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuQ3JlYXRlQXBpUmVzcG9uc2UiABJMCglVcGRhdGVBcGkSHS5hcGlwcm94eS52MS5VcGRhdGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuVXBkYXRlQXBpUmVzcG9uc2UiABJMCglEZWxldGVBcGkSHS5hcGlwcm94eS52MS5EZWxldGVBcGlSZXF1ZXN0Gh4uYXBpcHJveHkudjEuRGVsZXRlQXBpUmVzcG9uc2UiABJDCgZHZXRBcGkSGi5hcGlwcm94eS52MS5HZXRBcGlSZXF1ZXN0GhsuYXBpcHJveHkudjEuR2V0QXBpUmVzcG9uc2UiABJGCgdMaXN0QXBpEhsuYXBpcHJveHkudjEuTGlzdEFwaVJlcXVlc3QaHC5hcGlwcm94eS52MS5MaXN0QXBpUmVzcG9uc2UiABJkChFVcGRhdGVBcGlFeGFtcGxlcxIlLmFwaXByb3h5LnYxLlVwZGF0ZUFwaUV4YW1wbGVzUmVxdWVzdBomLmFwaXByb3h5LnYxLlVwZGF0ZUFwaUV4YW1wbGVzUmVzcG9uc2UiABJICglQcm94eUNhbGwSGy5hcGlwcm94eS52MS5DYWxsQXBpUmVxdWVzdBocLmFwaXByb3h5LnYxLkNhbGxBcGlSZXNwb25zZSIAQrUBCg9jb20uYXBpcHJveHkudjFCEkFwaXByb3h5QWRtaW5Qcm90b1ABWkFnaXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvYXBpcHJveHkvdjE7YXBpcHJveHl2MaICA0FYWKoCC0FwaXByb3h5LlYxygILQXBpcHJveHlcVjHiAhdBcGlwcm94eVxWMVxHUEJNZXRhZGF0YeoCDEFwaXByb3h5OjpWMWIGcHJvdG8z",[F1,js,ee]),J1=M(U1,0),x1=z("Ch5zZXNzaW9uL3YxL3Nlc3Npb25fYWRtaW4ucHJvdG8SCnNlc3Npb24udjEiIAoeUm9sbGJhY2tTZXNzaW9uQ3JlZGl0c1Jlc3BvbnNlIkQKHVJvbGxiYWNrU2Vzc2lvbkNyZWRpdHNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHY3JlZGl0cxgCIAEoBSJUChNMaXN0U2Vzc2lvblJlc3BvbnNlEi4KCHNlc3Npb25zGAEgAygLMhwuc2Vzc2lvbi52MS5BZG1pblNlc3Npb25JbmZvEg0KBXRvdGFsGAIgASgFIpICChBBZG1pblNlc3Npb25JbmZvEhIKCnNlc3Npb25faWQYASABKAkSFgoOY29zdGVkX2NyZWRpdHMYAiABKAUSOQoPcm9sbGJhY2tfc3RhdHVzGAMgASgOMiAuc2Vzc2lvbi52MS5DcmVkaXRSb2xsYmFja1N0YXR1cxIWCg5ibG9ja2VkX3N0YXR1cxgEIAEoCBIPCgd1c2VyX2lkGAUgASgJEg0KBWVtYWlsGAYgASgJEhEKCWlzX3NoYXJlZBgHIAEoCBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRjYW5fcm9sbGJhY2tfY3JlZGl0cxgJIAEoBSKmAQoSTGlzdFNlc3Npb25SZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESEQoJcGFnZV9zaXplGAIgASgFEgwKBHVzZXIYAyABKAkSEwoLc2Vzc2lvbl91aWQYBCABKAkSMgoMY3JlZGl0X3JhbmdlGAkgASgLMhcuc2Vzc2lvbi52MS5DcmVkaXRSYW5nZUgAiAEBQg8KDV9jcmVkaXRfcmFuZ2UiJQojVXBkYXRlU2Vzc2lvbkZlZWRiYWNrU3RhdHVzUmVzcG9uc2UibAoiVXBkYXRlU2Vzc2lvbkZlZWRiYWNrU3RhdHVzUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIxCgZzdGF0dXMYAiABKA4yIS5zZXNzaW9uLnYxLlNlc3Npb25GZWVkYmFja1N0YXR1cyInCiVSb2xsYmFja1Nlc3Npb25GZWVkYmFja0NyZWRpdFJlc3BvbnNlIkwKJFJvbGxiYWNrU2Vzc2lvbkZlZWRiYWNrQ3JlZGl0UmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIPCgdjcmVkaXRzGAIgASgFIrcDCgtVc2VjYXNlSW5mbxIKCgJpZBgBIAEoAxIPCgd1c2VyX2lkGAIgASgJEg0KBWVtYWlsGAMgASgJEg8KB2NvbnRlbnQYBCABKAkSEwoLc2Vzc2lvbl91aWQYBSABKAkSFQoNc2hvd19ob21lcGFnZRgGIAEoCBIWCg5vcmRlcl9ob21lcGFnZRgHIAEoBRIUCgxzaG93X3VzZWNhc2UYCCABKAgSFQoNb3JkZXJfdXNlY2FzZRgJIAEoBRIpCgZzdGF0dXMYCiABKA4yGS5zZXNzaW9uLnYxLlVzZWNhc2VTdGF0dXMSDgoGcmVtYXJrGAsgASgJEikKBnNvdXJjZRgMIAEoDjIZLnNlc3Npb24udjEuU2Vzc2lvblNvdXJjZRIcChRzZXNzaW9uX2Zyb21fdXNlcl9pZBgNIAEoCRIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5sYW5ndWFnZV9ncm91cBgQIAEoCSLYAwoSTGlzdFVzZWNhc2VSZXF1ZXN0EhUKBHBhZ2UYASABKAVCB7pIBBoCKAESHAoJcGFnZV9zaXplGAIgASgFQgm6SAYaBBhkKAESFAoHdXNlcl9pZBgDIAEoCUgAiAEBEhIKBWVtYWlsGAQgASgJSAGIAQESGgoNc2hvd19ob21lcGFnZRgFIAEoCEgCiAEBEhkKDHNob3dfdXNlY2FzZRgGIAEoCEgDiAEBEi4KC3N0YXR1c19saXN0GAcgAygOMhkuc2Vzc2lvbi52MS5Vc2VjYXNlU3RhdHVzEi4KBnNvdXJjZRgIIAEoDjIZLnNlc3Npb24udjEuU2Vzc2lvblNvdXJjZUgEiAEBEiEKFHNlc3Npb25fZnJvbV91c2VyX2lkGAkgASgJSAWIAQESGwoObGFuZ3VhZ2VfZ3JvdXAYCiABKAlIBogBARIcChRtdXN0X3dpdGhfc2Vzc2lvbl9pZBgLIAEoCEIKCghfdXNlcl9pZEIICgZfZW1haWxCEAoOX3Nob3dfaG9tZXBhZ2VCDwoNX3Nob3dfdXNlY2FzZUIJCgdfc291cmNlQhcKFV9zZXNzaW9uX2Zyb21fdXNlcl9pZEIRCg9fbGFuZ3VhZ2VfZ3JvdXAiTwoTTGlzdFVzZWNhc2VSZXNwb25zZRIpCgh1c2VjYXNlcxgBIAMoCzIXLnNlc3Npb24udjEuVXNlY2FzZUluZm8SDQoFdG90YWwYAiABKAMilwQKFFVwZGF0ZVVzZWNhc2VSZXF1ZXN0EhsKCnVzZWNhc2VfaWQYASABKANCB7pIBCICIAASGAoLc2Vzc2lvbl91aWQYAiABKAlIAIgBARIaCg1zaG93X2hvbWVwYWdlGAMgASgISAGIAQESGwoOb3JkZXJfaG9tZXBhZ2UYBCABKAVIAogBARIZCgxzaG93X3VzZWNhc2UYBSABKAhIA4gBARIaCg1vcmRlcl91c2VjYXNlGAYgASgFSASIAQESEwoGcmVtYXJrGAcgASgJSAWIAQESLgoGc3RhdHVzGAggASgOMhkuc2Vzc2lvbi52MS5Vc2VjYXNlU3RhdHVzSAaIAQESLgoGc291cmNlGAkgASgOMhkuc2Vzc2lvbi52MS5TZXNzaW9uU291cmNlSAeIAQESIQoUc2Vzc2lvbl9mcm9tX3VzZXJfaWQYCiABKAlICIgBARIbCg5sYW5ndWFnZV9ncm91cBgLIAEoCUgJiAEBQg4KDF9zZXNzaW9uX3VpZEIQCg5fc2hvd19ob21lcGFnZUIRCg9fb3JkZXJfaG9tZXBhZ2VCDwoNX3Nob3dfdXNlY2FzZUIQCg5fb3JkZXJfdXNlY2FzZUIJCgdfcmVtYXJrQgkKB19zdGF0dXNCCQoHX3NvdXJjZUIXChVfc2Vzc2lvbl9mcm9tX3VzZXJfaWRCEQoPX2xhbmd1YWdlX2dyb3VwIhcKFVVwZGF0ZVVzZWNhc2VSZXNwb25zZSK2AQoSQmxvY2tlZFNlc3Npb25JbmZvEgoKAmlkGAEgASgDEhMKC3Nlc3Npb25fdWlkGAIgASgJEg8KB3VzZXJfaWQYAyABKAkSDgoGcmVhc29uGAQgASgJEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIp0BChpMaXN0QmxvY2tlZFNlc3Npb25zUmVxdWVzdBIVCgRwYWdlGAEgASgFQge6SAQaAigBEhwKCXBhZ2Vfc2l6ZRgCIAEoBUIJukgGGgQYZCgBEhgKC3Nlc3Npb25fdWlkGAMgASgJSACIAQESFAoHdXNlcl9pZBgEIAEoCUgBiAEBQg4KDF9zZXNzaW9uX3VpZEIKCghfdXNlcl9pZCJmChtMaXN0QmxvY2tlZFNlc3Npb25zUmVzcG9uc2USOAoQYmxvY2tlZF9zZXNzaW9ucxgBIAMoCzIeLnNlc3Npb24udjEuQmxvY2tlZFNlc3Npb25JbmZvEg0KBXRvdGFsGAIgASgDInMKH1VwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1JlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESEgoKaXNfYmxvY2tlZBgCIAEoCBITCgZyZWFzb24YAyABKAlIAIgBAUIJCgdfcmVhc29uIiIKIFVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1Jlc3BvbnNlIhsKGUdldE5ld1Nlc3Npb25MaW1pdFJlcXVlc3QiMAoPTmV3U2Vzc2lvbkNvdW50Eg4KBm1pbnV0ZRgBIAEoCRINCgVjb3VudBgCIAEoAyKKAQoaR2V0TmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2USGwoTbmV3X3Nlc3Npb25fcGVyX21pbhgBIAEoAxIWCg53aGl0ZV91c2VyX2lkcxgCIAMoCRI3ChJuZXdfc2Vzc2lvbl9jb3VudHMYAyADKAsyGy5zZXNzaW9uLnYxLk5ld1Nlc3Npb25Db3VudCJQChxVcGRhdGVOZXdTZXNzaW9uTGltaXRSZXF1ZXN0EhsKE25ld19zZXNzaW9uX3Blcl9taW4YASABKAMSEwoLd2hpdGVfdXNlcnMYAiADKAkiHwodVXBkYXRlTmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2UiFQoTR2V0UXVldWVJbmZvUmVxdWVzdCJlCglRdWV1ZUluZm8SKQoKcXVldWVfdHlwZRgBIAEoDjIVLnNlc3Npb24udjEuUXVldWVUeXBlEhQKDHF1ZXVlX2xlbmd0aBgCIAEoAxIXCg9tYXhfY29uY3VycmVuY2UYAyABKAMiMQoPUXVldWVDb25maWdJbmZvEh4KFmdsb2JhbF9tYXhfY29uY3VycmVuY2UYASABKAMidAoUR2V0UXVldWVJbmZvUmVzcG9uc2USKQoKcXVldWVfaW5mbxgBIAMoCzIVLnNlc3Npb24udjEuUXVldWVJbmZvEjEKDHF1ZXVlX2NvbmZpZxgCIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvImwKHVNldFF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0EikKCnF1ZXVlX3R5cGUYASABKA4yFS5zZXNzaW9uLnYxLlF1ZXVlVHlwZRIgCg9tYXhfY29uY3VycmVuY2UYAiABKANCB7pIBCICIAAiUwoeU2V0UXVldWVNYXhDb25jdXJyZW5jZVJlc3BvbnNlEjEKDHF1ZXVlX2NvbmZpZxgBIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvIkkKHlNldEdsb2JhbE1heENvbmN1cnJlbmNlUmVxdWVzdBInChZnbG9iYWxfbWF4X2NvbmN1cnJlbmNlGAEgASgDQge6SAQiAiAAIlQKH1NldEdsb2JhbE1heENvbmN1cnJlbmNlUmVzcG9uc2USMQoMcXVldWVfY29uZmlnGAEgASgLMhsuc2Vzc2lvbi52MS5RdWV1ZUNvbmZpZ0luZm8iPgoRQ2xlYXJRdWV1ZVJlcXVlc3QSKQoKcXVldWVfdHlwZRgBIAEoDjIVLnNlc3Npb24udjEuUXVldWVUeXBlIl4KEkNsZWFyUXVldWVSZXNwb25zZRIVCg10YXNrc19yZW1vdmVkGAEgASgDEjEKDHF1ZXVlX2NvbmZpZxgCIAEoCzIbLnNlc3Npb24udjEuUXVldWVDb25maWdJbmZvImEKJUJhdGNoVXBkYXRlUXVldWVNYXhDb25jdXJyZW5jZVJlcXVlc3QSOAoNcXVldWVfdXBkYXRlcxgBIAMoCzIXLnNlc3Npb24udjEuUXVldWVVcGRhdGVCCLpIBZIBAggBIloKC1F1ZXVlVXBkYXRlEikKCnF1ZXVlX3R5cGUYASABKA4yFS5zZXNzaW9uLnYxLlF1ZXVlVHlwZRIgCg9tYXhfY29uY3VycmVuY2UYAiABKANCB7pIBCICIAAiUwomQmF0Y2hVcGRhdGVRdWV1ZU1heENvbmN1cnJlbmNlUmVzcG9uc2USKQoKcXVldWVfaW5mbxgBIAMoCzIVLnNlc3Npb24udjEuUXVldWVJbmZvIhkKF0dldFF1ZXVlU2V0dGluZ3NSZXF1ZXN0InoKDFF1ZXVlU2V0dGluZxIpCgpxdWV1ZV90eXBlGAEgASgOMhUuc2Vzc2lvbi52MS5RdWV1ZVR5cGUSJgoeY29uc3VtcHRpb25fc3BlZWRfdGFza19wZXJfbWluGAIgASgBEhcKD21heF93YWl0aW5nX21pbhgDIAEoBSJMChhHZXRRdWV1ZVNldHRpbmdzUmVzcG9uc2USMAoOcXVldWVfc2V0dGluZ3MYASADKAsyGC5zZXNzaW9uLnYxLlF1ZXVlU2V0dGluZyJLChdTZXRRdWV1ZVNldHRpbmdzUmVxdWVzdBIwCg5xdWV1ZV9zZXR0aW5ncxgBIAMoCzIYLnNlc3Npb24udjEuUXVldWVTZXR0aW5nIhoKGFNldFF1ZXVlU2V0dGluZ3NSZXNwb25zZSKXAwoaTGlzdFNlc3Npb25GZWVkYmFja1JlcXVlc3QSFQoEcGFnZRgBIAEoBUIHukgEGgIoARIcCglwYWdlX3NpemUYAiABKAVCCbpIBhoEGGQoBRINCgVzY29yZRgDIAMoBRIMCgR1c2VyGAQgASgJEhMKC3Nlc3Npb25fdWlkGAUgASgJEjYKBnN0YXR1cxgGIAEoDjIhLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrU3RhdHVzSACIAQESHwoSYWxsb3dfY29sbGVjdF9pbmZvGAcgASgISAGIAQESPgoPcm9sbGJhY2tfc3RhdHVzGAggASgOMiAuc2Vzc2lvbi52MS5DcmVkaXRSb2xsYmFja1N0YXR1c0gCiAEBEjIKDGNyZWRpdF9yYW5nZRgJIAEoCzIXLnNlc3Npb24udjEuQ3JlZGl0UmFuZ2VIA4gBAUIJCgdfc3RhdHVzQhUKE19hbGxvd19jb2xsZWN0X2luZm9CEgoQX3JvbGxiYWNrX3N0YXR1c0IPCg1fY3JlZGl0X3JhbmdlIkEKC0NyZWRpdFJhbmdlEhAKA21pbhgBIAEoBUgAiAEBEhAKA21heBgCIAEoBUgBiAEBQgYKBF9taW5CBgoEX21heCJbChtMaXN0U2Vzc2lvbkZlZWRiYWNrUmVzcG9uc2USLQoIZmVlZGJhY2sYASADKAsyGy5zZXNzaW9uLnYxLlNlc3Npb25GZWVkYmFjaxINCgV0b3RhbBgCIAEoAyK/AwoPU2Vzc2lvbkZlZWRiYWNrEg0KBXNjb3JlGAEgASgFEg8KB2NvbnRlbnQYAiABKAkSEwoLc2Vzc2lvbl91aWQYAyABKAkSGgoSYWxsb3dfY29sbGVjdF9pbmZvGAQgASgIEjEKBnN0YXR1cxgFIAEoDjIhLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrU3RhdHVzEg8KB3VzZXJfaWQYBiABKAkSEQoJdXNlcl9uYW1lGAcgASgJEg0KBWVtYWlsGAggASgJEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKCWlzX3NoYXJlZBgLIAEoCEgAiAEBEjkKD3JvbGxiYWNrX3N0YXR1cxgMIAEoDjIgLnNlc3Npb24udjEuQ3JlZGl0Um9sbGJhY2tTdGF0dXMSFgoOY29zdGVkX2NyZWRpdHMYDSABKAUSHAoUY2FuX3JvbGxiYWNrX2NyZWRpdHMYDiABKAVCDAoKX2lzX3NoYXJlZCIuChdTaWduYXR1cmVTZXNzaW9uUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCSIpChhTaWduYXR1cmVTZXNzaW9uUmVzcG9uc2USDQoFdG9rZW4YASABKAkqegoNVXNlY2FzZVN0YXR1cxIeChpVU0VDQVNFX1NUQVRVU19VTlNQRUNJRklFRBAAEhcKE1VTRUNBU0VfU1RBVFVTX1BBU1MQARIXChNVU0VDQVNFX1NUQVRVU19ERU5ZEAISFwoTVVNFQ0FTRV9TVEFUVVNfVE9ETxADKmUKDVNlc3Npb25Tb3VyY2USHgoaU0VTU0lPTl9TT1VSQ0VfVU5TUEVDSUZJRUQQABIXChNTRVNTSU9OX1NPVVJDRV9VU0VSEAESGwoXU0VTU0lPTl9TT1VSQ0VfT0ZGSUNJQUwQAiqXAQoJUXVldWVUeXBlEhoKFlFVRVVFX1RZUEVfVU5TUEVDSUZJRUQQABISCg5RVUVVRV9UWVBFX0FMTBABEhYKElFVRVVFX1RZUEVfREVGQVVMVBACEhIKDlFVRVVFX1RZUEVfVklQEAMSFQoRUVVFVUVfVFlQRV9CVUZGRVIQBBIXChNRVUVVRV9UWVBFX0VEVV9URUFNEAUqYAoUQ3JlZGl0Um9sbGJhY2tTdGF0dXMSIgoeQ1JFRElUX1JPTExCQUNLX1NUQVRVU19QRU5ESU5HEAASJAogQ1JFRElUX1JPTExCQUNLX1NUQVRVU19QUk9DRVNTRUQQASquAQoVU2Vzc2lvbkZlZWRiYWNrU3RhdHVzEiMKH1NFU1NJT05fRkVFREJBQ0tfU1RBVFVTX1BFTkRJTkcQABImCiJTRVNTSU9OX0ZFRURCQUNLX1NUQVRVU19QUk9DRVNTSU5HEAESJAogU0VTU0lPTl9GRUVEQkFDS19TVEFUVVNfUkVTT0xWRUQQAhIiCh5TRVNTSU9OX0ZFRURCQUNLX1NUQVRVU19DTE9TRUQQAzLJDwoTU2Vzc2lvbkFkbWluU2VydmljZRJOCgtMaXN0VXNlY2FzZRIeLnNlc3Npb24udjEuTGlzdFVzZWNhc2VSZXF1ZXN0Gh8uc2Vzc2lvbi52MS5MaXN0VXNlY2FzZVJlc3BvbnNlElQKDVVwZGF0ZVVzZWNhc2USIC5zZXNzaW9uLnYxLlVwZGF0ZVVzZWNhc2VSZXF1ZXN0GiEuc2Vzc2lvbi52MS5VcGRhdGVVc2VjYXNlUmVzcG9uc2USZgoTTGlzdEJsb2NrZWRTZXNzaW9ucxImLnNlc3Npb24udjEuTGlzdEJsb2NrZWRTZXNzaW9uc1JlcXVlc3QaJy5zZXNzaW9uLnYxLkxpc3RCbG9ja2VkU2Vzc2lvbnNSZXNwb25zZRJ1ChhVcGRhdGVTZXNzaW9uQmxvY2tTdGF0dXMSKy5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1JlcXVlc3QaLC5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25CbG9ja1N0YXR1c1Jlc3BvbnNlEmMKEkdldE5ld1Nlc3Npb25MaW1pdBIlLnNlc3Npb24udjEuR2V0TmV3U2Vzc2lvbkxpbWl0UmVxdWVzdBomLnNlc3Npb24udjEuR2V0TmV3U2Vzc2lvbkxpbWl0UmVzcG9uc2USbAoVVXBkYXRlTmV3U2Vzc2lvbkxpbWl0Eiguc2Vzc2lvbi52MS5VcGRhdGVOZXdTZXNzaW9uTGltaXRSZXF1ZXN0Gikuc2Vzc2lvbi52MS5VcGRhdGVOZXdTZXNzaW9uTGltaXRSZXNwb25zZRJRCgxHZXRRdWV1ZUluZm8SHy5zZXNzaW9uLnYxLkdldFF1ZXVlSW5mb1JlcXVlc3QaIC5zZXNzaW9uLnYxLkdldFF1ZXVlSW5mb1Jlc3BvbnNlEm8KFlNldFF1ZXVlTWF4Q29uY3VycmVuY2USKS5zZXNzaW9uLnYxLlNldFF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0Giouc2Vzc2lvbi52MS5TZXRRdWV1ZU1heENvbmN1cnJlbmNlUmVzcG9uc2UScgoXU2V0R2xvYmFsTWF4Q29uY3VycmVuY2USKi5zZXNzaW9uLnYxLlNldEdsb2JhbE1heENvbmN1cnJlbmNlUmVxdWVzdBorLnNlc3Npb24udjEuU2V0R2xvYmFsTWF4Q29uY3VycmVuY2VSZXNwb25zZRKHAQoeQmF0Y2hVcGRhdGVRdWV1ZU1heENvbmN1cnJlbmNlEjEuc2Vzc2lvbi52MS5CYXRjaFVwZGF0ZVF1ZXVlTWF4Q29uY3VycmVuY2VSZXF1ZXN0GjIuc2Vzc2lvbi52MS5CYXRjaFVwZGF0ZVF1ZXVlTWF4Q29uY3VycmVuY2VSZXNwb25zZRJLCgpDbGVhclF1ZXVlEh0uc2Vzc2lvbi52MS5DbGVhclF1ZXVlUmVxdWVzdBoeLnNlc3Npb24udjEuQ2xlYXJRdWV1ZVJlc3BvbnNlEl0KEEdldFF1ZXVlU2V0dGluZ3MSIy5zZXNzaW9uLnYxLkdldFF1ZXVlU2V0dGluZ3NSZXF1ZXN0GiQuc2Vzc2lvbi52MS5HZXRRdWV1ZVNldHRpbmdzUmVzcG9uc2USXQoQU2V0UXVldWVTZXR0aW5ncxIjLnNlc3Npb24udjEuU2V0UXVldWVTZXR0aW5nc1JlcXVlc3QaJC5zZXNzaW9uLnYxLlNldFF1ZXVlU2V0dGluZ3NSZXNwb25zZRJmChNMaXN0U2Vzc2lvbkZlZWRiYWNrEiYuc2Vzc2lvbi52MS5MaXN0U2Vzc2lvbkZlZWRiYWNrUmVxdWVzdBonLnNlc3Npb24udjEuTGlzdFNlc3Npb25GZWVkYmFja1Jlc3BvbnNlEk4KC0xpc3RTZXNzaW9uEh4uc2Vzc2lvbi52MS5MaXN0U2Vzc2lvblJlcXVlc3QaHy5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uUmVzcG9uc2USbwoWUm9sbGJhY2tTZXNzaW9uQ3JlZGl0cxIpLnNlc3Npb24udjEuUm9sbGJhY2tTZXNzaW9uQ3JlZGl0c1JlcXVlc3QaKi5zZXNzaW9uLnYxLlJvbGxiYWNrU2Vzc2lvbkNyZWRpdHNSZXNwb25zZRKEAQodUm9sbGJhY2tTZXNzaW9uRmVlZGJhY2tDcmVkaXQSMC5zZXNzaW9uLnYxLlJvbGxiYWNrU2Vzc2lvbkZlZWRiYWNrQ3JlZGl0UmVxdWVzdBoxLnNlc3Npb24udjEuUm9sbGJhY2tTZXNzaW9uRmVlZGJhY2tDcmVkaXRSZXNwb25zZRJ+ChtVcGRhdGVTZXNzaW9uRmVlZGJhY2tTdGF0dXMSLi5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25GZWVkYmFja1N0YXR1c1JlcXVlc3QaLy5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25GZWVkYmFja1N0YXR1c1Jlc3BvbnNlEl0KEFNpZ25hdHVyZVNlc3Npb24SIy5zZXNzaW9uLnYxLlNpZ25hdHVyZVNlc3Npb25SZXF1ZXN0GiQuc2Vzc2lvbi52MS5TaWduYXR1cmVTZXNzaW9uUmVzcG9uc2VCrQEKDmNvbS5zZXNzaW9uLnYxQhFTZXNzaW9uQWRtaW5Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[Ye,ee]),w1=M(x1,0),k1=z("CiZzZXNzaW9uL3YxL2NvbW11bml0eV9JbnRlcmFjdGlvbi5wcm90bxIKc2Vzc2lvbi52MSJsChtDb21tdW5pdHlVc2VjYXNlTGlrZVJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhEKCXJlY29yZF9pZBgCIAEoCRInCglsaWtlX3R5cGUYAyABKA4yFC5zZXNzaW9uLnYxLkxpa2VUeXBlIk8KHENvbW11bml0eVVzZWNhc2VMaWtlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEg0KBWNvdW50GAMgASgDKlAKCExpa2VUeXBlEhkKFUxJS0VfVFlQRV9VTlNQRUNJRklFRBAAEhIKDkxJS0VfVFlQRV9MSUtFEAESFQoRTElLRV9UWVBFX0RJU0xJS0UQAjJ4ChtDb21tdW5pdHlJbnRlcmFjdGlvblNlcnZpY2USWQoETGlrZRInLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUxpa2VSZXF1ZXN0Giguc2Vzc2lvbi52MS5Db21tdW5pdHlVc2VjYXNlTGlrZVJlc3BvbnNlQrUBCg5jb20uc2Vzc2lvbi52MUIZQ29tbXVuaXR5SW50ZXJhY3Rpb25Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[ee]),z1=M(k1,0),Hn=z("Ch1zZXNzaW9uL3YxL3Nlc3Npb25fYmFzZS5wcm90bxIKc2Vzc2lvbi52MSIzCgtTZXNzaW9uSW5mbxINCgV0aXRsZRgBIAEoCRIVCg11c2VyX3F1ZXN0aW9uGAIgASgJIlwKCVNwYWNlSW5mbxINCgV0aXRsZRgBIAEoCRISCgpzY3JlZW5zaG90GAIgASgJEhEKCXNwYWNlX3VybBgDIAEoCRIZChFpc19zZXNzaW9uX3B1YmxpYxgEIAEoCCJyCgdDcmVhdG9yEgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDgoGYXZhdGFyGAMgASgJEiwKCXVzZXJfdHlwZRgEIAEoDjIULnNlc3Npb24udjEuVXNlclR5cGVIAIgBAUIMCgpfdXNlcl90eXBlIq8DChRDb21tdW5pdHlVc2VjYXNlSW5mbxIkCgdjcmVhdG9yGAEgASgLMhMuc2Vzc2lvbi52MS5DcmVhdG9yEhIKCnJlY29yZF91aWQYAiABKAkSEwoLc2Vzc2lvbl91aWQYAyABKAkSLwoNcmVzb3VyY2VfdHlwZRgEIAEoDjIYLnNlc3Npb24udjEuUmVzb3VyY2VUeXBlEhMKC3Jlc291cmNlX2lkGAUgASgJEg0KBWdyb3VwGAYgASgJEg4KBmxvY2FsZRgHIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYCCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEhYKDmZhdm9yaXRlX2NvdW50GAkgASgDEjIKDHNlc3Npb25faW5mbxgKIAEoCzIXLnNlc3Npb24udjEuU2Vzc2lvbkluZm9IAIgBARIuCgpzcGFjZV9pbmZvGAsgASgLMhUuc2Vzc2lvbi52MS5TcGFjZUluZm9IAYgBARISCgpsaWtlX2NvdW50GAwgASgDQg8KDV9zZXNzaW9uX2luZm9CDQoLX3NwYWNlX2luZm8i9QEKDENvbGxhYm9yYXRvchIUCgd1c2VyX2lkGAEgASgJSACIAQESDQoFZW1haWwYAiABKAkSEQoEbmFtZRgDIAEoCUgBiAEBEhMKBmF2YXRhchgEIAEoCUgCiAEBEjYKCnBlcm1pc3Npb24YBSABKA4yIi5zZXNzaW9uLnYxLkNvbGxhYm9yYXRvclBlcm1pc3Npb24SEAoIaXNfb3duZXIYBiABKAgSLgoGc3RhdHVzGAcgASgOMh4uc2Vzc2lvbi52MS5Db2xsYWJvcmF0b3JTdGF0dXNCCgoIX3VzZXJfaWRCBwoFX25hbWVCCQoHX2F2YXRhciL2AQoPU2Vzc2lvbkZpbGVJdGVtEhQKDHNhbmRib3hfcGF0aBgBIAEoCRIQCghmaWxlX3VybBgCIAEoCRIwCgpmaWxlX3N0YWdlGAQgASgOMhwuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZVN0YWdlEi4KCWZpbGVfdHlwZRgFIAEoDjIbLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVUeXBlEjIKC2ZpbGVfZWRpdG9yGAYgASgOMh0uc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUVkaXRvchITCgtzZXNzaW9uX3VpZBgHIAEoCRIQCghldmVudF9pZBgIIAEoCSKvAgofU2Vzc2lvbkZpbGVJdGVtV2l0aFNlc3Npb25UaXRsZRIuCglmaWxlX2l0ZW0YASABKAsyGy5zZXNzaW9uLnYxLlNlc3Npb25GaWxlSXRlbRIVCg1zZXNzaW9uX3RpdGxlGAIgASgJEhUKCHNoYXJlX2lkGAMgASgJSACIAQESMwoPbGFzdF91cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIRCglmaWxlX25hbWUYBSABKAkSEwoLdmVyc2lvbl91aWQYBiABKAkSGgoSaXNfbG9hZF90b19zYW5kYm94GAcgASgIEhgKC3NoYXJlX3RpdGxlGAggASgJSAGIAQFCCwoJX3NoYXJlX2lkQg4KDF9zaGFyZV90aXRsZSqmAQoNQWdlbnRUYXNrTW9kZRIfChtBR0VOVF9UQVNLX01PREVfVU5TUEVDSUZJRUQQABIcChhBR0VOVF9UQVNLX01PREVfU1RBTkRBUkQQARIfChtBR0VOVF9UQVNLX01PREVfSElHSF9FRkZPUlQQAhIYChRBR0VOVF9UQVNLX01PREVfTElURRADEhsKF0FHRU5UX1RBU0tfTU9ERV9ESVNDVVNTEAQqXQoLQXVkaXRTdGF0dXMSGAoUQVVESVRfU1RBVFVTX1BFTkRJTkcQABIZChVBVURJVF9TVEFUVVNfQVBQUk9WRUQQARIZChVBVURJVF9TVEFUVVNfUkVKRUNURUQQAiphCgxSZXNvdXJjZVR5cGUSHQoZUkVTT1VSQ0VfVFlQRV9VTlNQRUNJRklFRBAAEhkKFVJFU09VUkNFX1RZUEVfU0VTU0lPThABEhcKE1JFU09VUkNFX1RZUEVfU1BBQ0UQAippCg5SZXNvdXJjZVNvdXJjZRIfChtSRVNPVVJDRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIcChhSRVNPVVJDRV9TT1VSQ0VfT0ZGSUNJQUwQARIYChRSRVNPVVJDRV9TT1VSQ0VfVVNFUhACKlEKCFVzZXJUeXBlEhkKFVVTRVJfVFlQRV9VTlNQRUNJRklFRBAAEhYKElVTRVJfVFlQRV9PRkZJQ0lBTBABEhIKDlVTRVJfVFlQRV9VU0VSEAIqewoSQ29sbGFib3JhdG9yU3RhdHVzEiMKH0NPTExBQk9SQVRPUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtDT0xMQUJPUkFUT1JfU1RBVFVTX1JFTU9WRUQQARIfChtDT0xMQUJPUkFUT1JfU1RBVFVTX0RFTEVURUQQAiqQAQoWQ29sbGFib3JhdG9yUGVybWlzc2lvbhInCiNDT0xMQUJPUkFUT1JfUEVSTUlTU0lPTl9VTlNQRUNJRklFRBAAEiUKIUNPTExBQk9SQVRPUl9QRVJNSVNTSU9OX1JFQURfT05MWRABEiYKIkNPTExBQk9SQVRPUl9QRVJNSVNTSU9OX1JFQURfV1JJVEUQAipRCg5FeHBlcmltZW50VHlwZRIfChtFWFBFUklNRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIeChpFWFBFUklNRU5UX1RZUEVfT05CT0FSRElORxABKooBCg9TZXNzaW9uRmlsZVR5cGUSIQodU0VTU0lPTl9GSUxFX1RZUEVfVU5TUEVDSUZJRUQQABIaChZTRVNTSU9OX0ZJTEVfVFlQRV9GSUxFEAESGwoXU0VTU0lPTl9GSUxFX1RZUEVfSU1BR0UQAhIbChdTRVNTSU9OX0ZJTEVfVFlQRV9TTElERRADKnYKEFNlc3Npb25GaWxlU3RhZ2USIgoeU0VTU0lPTl9GSUxFX1NUQUdFX1VOU1BFQ0lGSUVEEAASHgoaU0VTU0lPTl9GSUxFX1NUQUdFX1BST0NFU1MQARIeChpTRVNTSU9OX0ZJTEVfU1RBR0VfUFJPRFVDVBACKngKEVNlc3Npb25GaWxlRWRpdG9yEiMKH1NFU1NJT05fRklMRV9FRElUT1JfVU5TUEVDSUZJRUQQABIaChZTRVNTSU9OX0ZJTEVfRURJVE9SX0FJEAESIgoeU0VTU0lPTl9GSUxFX0VESVRPUl9VU0VSX09XTkVSEAIqmQEKFlNlc3Npb25GaWxlQ29udmVydFR5cGUSKQolU0VTU0lPTl9GSUxFX0NPTlZFUlRfVFlQRV9VTlNQRUNJRklFRBAAEikKJVNFU1NJT05fRklMRV9DT05WRVJUX1RZUEVfSFRNTF9UT19QREYQARIpCiVTRVNTSU9OX0ZJTEVfQ09OVkVSVF9UWVBFX0hUTUxfVE9fUFBUEAIq7QEKGFNlc3Npb25GaWxlQ29udmVydFN0YXR1cxIrCidTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfVU5TUEVDSUZJRUQQABInCiNTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfUEVORElORxABEioKJlNFU1NJT05fRklMRV9DT05WRVJUX1NUQVRVU19DT05WRVJUSU5HEAISJwojU0VTU0lPTl9GSUxFX0NPTlZFUlRfU1RBVFVTX1NVQ0NFU1MQAxImCiJTRVNTSU9OX0ZJTEVfQ09OVkVSVF9TVEFUVVNfRkFJTEVEEARCrAEKDmNvbS5zZXNzaW9uLnYxQhBTZXNzaW9uQmFzZVByb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM",[ee]),Q1=z("CiRzZXNzaW9uL3YxL3Nlc3Npb25fY29sbGFib3JhdGUucHJvdG8SCnNlc3Npb24udjEiTQoYTGlzdENvbGxhYm9yYXRvcnNSZXF1ZXN0EiEKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABSACIAQFCDgoMX3Nlc3Npb25fdWlkIkwKGUxpc3RDb2xsYWJvcmF0b3JzUmVzcG9uc2USLwoNY29sbGFib3JhdG9ycxgBIAMoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yIjIKGENoZWNrQWxwaGFCeUVtYWlsUmVxdWVzdBIWCgVlbWFpbBgBIAEoCUIHukgEcgIQASItChlDaGVja0FscGhhQnlFbWFpbFJlc3BvbnNlEhAKCGlzX2FscGhhGAEgASgIImgKFFNlbmRWaWV3RW1haWxSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABEhYKBWVtYWlsGAIgASgJQge6SARyAhABEhoKCXZpZXdfbGluaxgDIAEoCUIHukgEcgIQASIXChVTZW5kVmlld0VtYWlsUmVzcG9uc2UipwEKGUludml0ZUNvbGxhYm9yYXRvclJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESFgoFZW1haWwYAiABKAlCB7pIBHICEAESNgoKcGVybWlzc2lvbhgDIAEoDjIiLnNlc3Npb24udjEuQ29sbGFib3JhdG9yUGVybWlzc2lvbhIcCgtpbnZpdGVfbGluaxgEIAEoCUIHukgEcgIQASJjChpJbnZpdGVDb2xsYWJvcmF0b3JSZXNwb25zZRIVCg1pc19hbHBoYV91c2VyGAEgASgIEi4KDGNvbGxhYm9yYXRvchgCIAEoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yIkcKGVJlbW92ZUNvbGxhYm9yYXRvclJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESDAoEdXNlchgCIAEoCSIcChpSZW1vdmVDb2xsYWJvcmF0b3JSZXNwb25zZSKJAQojVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvblJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAESDAoEdXNlchgCIAEoCRI2CgpwZXJtaXNzaW9uGAMgASgOMiIuc2Vzc2lvbi52MS5Db2xsYWJvcmF0b3JQZXJtaXNzaW9uIiYKJFVwZGF0ZUNvbGxhYm9yYXRvclBlcm1pc3Npb25SZXNwb25zZSIzChNBY2NlcHRJbnZpdGVSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABIhYKFEFjY2VwdEludml0ZVJlc3BvbnNlIjMKE1JlamVjdEludml0ZVJlcXVlc3QSHAoLc2Vzc2lvbl91aWQYASABKAlCB7pIBHICEAEiFgoUUmVqZWN0SW52aXRlUmVzcG9uc2UyuQYKGVNlc3Npb25Db2xsYWJvcmF0ZVNlcnZpY2USYgoRTGlzdENvbGxhYm9yYXRvcnMSJC5zZXNzaW9uLnYxLkxpc3RDb2xsYWJvcmF0b3JzUmVxdWVzdBolLnNlc3Npb24udjEuTGlzdENvbGxhYm9yYXRvcnNSZXNwb25zZSIAEmIKEUNoZWNrQWxwaGFCeUVtYWlsEiQuc2Vzc2lvbi52MS5DaGVja0FscGhhQnlFbWFpbFJlcXVlc3QaJS5zZXNzaW9uLnYxLkNoZWNrQWxwaGFCeUVtYWlsUmVzcG9uc2UiABJWCg1TZW5kVmlld0VtYWlsEiAuc2Vzc2lvbi52MS5TZW5kVmlld0VtYWlsUmVxdWVzdBohLnNlc3Npb24udjEuU2VuZFZpZXdFbWFpbFJlc3BvbnNlIgASZQoSSW52aXRlQ29sbGFib3JhdG9yEiUuc2Vzc2lvbi52MS5JbnZpdGVDb2xsYWJvcmF0b3JSZXF1ZXN0GiYuc2Vzc2lvbi52MS5JbnZpdGVDb2xsYWJvcmF0b3JSZXNwb25zZSIAEmUKElJlbW92ZUNvbGxhYm9yYXRvchIlLnNlc3Npb24udjEuUmVtb3ZlQ29sbGFib3JhdG9yUmVxdWVzdBomLnNlc3Npb24udjEuUmVtb3ZlQ29sbGFib3JhdG9yUmVzcG9uc2UiABKDAQocVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvbhIvLnNlc3Npb24udjEuVXBkYXRlQ29sbGFib3JhdG9yUGVybWlzc2lvblJlcXVlc3QaMC5zZXNzaW9uLnYxLlVwZGF0ZUNvbGxhYm9yYXRvclBlcm1pc3Npb25SZXNwb25zZSIAElMKDEFjY2VwdEludml0ZRIfLnNlc3Npb24udjEuQWNjZXB0SW52aXRlUmVxdWVzdBogLnNlc3Npb24udjEuQWNjZXB0SW52aXRlUmVzcG9uc2UiABJTCgxSZWplY3RJbnZpdGUSHy5zZXNzaW9uLnYxLlJlamVjdEludml0ZVJlcXVlc3QaIC5zZXNzaW9uLnYxLlJlamVjdEludml0ZVJlc3BvbnNlIgBCswEKDmNvbS5zZXNzaW9uLnYxQhdTZXNzaW9uQ29sbGFib3JhdGVQcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[Ye,Hn]),L1=M(Q1,0),K1=z("Ch9zZXNzaW9uL3YxL3Nlc3Npb25fcHVibGljLnByb3RvEgpzZXNzaW9uLnYxIokBChRTdWJtaXRVc2VjYXNlUmVxdWVzdBIqCgVlbWFpbBgBIAEoCUIbukgYchYyFF5bXkBdK0BbXkBdK1wuW15AXSskEhsKB2NvbnRlbnQYAiABKAlCCrpIB3IFEAEYkE4SGAoLc2Vzc2lvbl91aWQYAyABKAlIAIgBAUIOCgxfc2Vzc2lvbl91aWQiKwoVU3VibWl0VXNlY2FzZVJlc3BvbnNlEhIKCnVzZWNhc2VfaWQYASABKAMi2wEKElVzZWNhc2VTZXNzaW9uSW5mbxITCgtzZXNzaW9uX3VpZBgBIAEoCRIVCg1zZXNzaW9uX3RpdGxlGAIgASgJEhQKDHNlc3Npb25faWNvbhgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEhIKCnVzZXJfZW1haWwYBSABKAkSDwoHY29udGVudBgGIAEoCRINCgVvcmRlchgHIAEoBRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZsb2NhbGUYCSABKAkieAoaTGlzdFVzZWNhc2VTZXNzaW9uc1JlcXVlc3QSFQoNc2hvd19ob21lcGFnZRgBIAEoCBIUCgxzaG93X3VzZWNhc2UYAiABKAgSDgoGbG9jYWxlGAMgASgJEg0KBWxpbWl0GAQgASgDEg4KBm9mZnNldBgFIAEoAyJPChtMaXN0VXNlY2FzZVNlc3Npb25zUmVzcG9uc2USMAoIc2Vzc2lvbnMYASADKAsyHi5zZXNzaW9uLnYxLlVzZWNhc2VTZXNzaW9uSW5mbyK/AgocTGlzdENvbW11bml0eVVzZWNhc2VzUmVxdWVzdBIYCgVsaW1pdBgBIAEoA0IJukgGIgQYZCAAEhcKBm9mZnNldBgCIAEoA0IHukgEIgIoABI0Cg1yZXNvdXJjZV90eXBlGAMgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAIgBARI4Cg9yZXNvdXJjZV9zb3VyY2UYBCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlSAGIAQESEwoGbG9jYWxlGAUgASgJSAKIAQESEgoFZ3JvdXAYBiABKAlIA4gBARIQCgN0YWcYByABKAlIBIgBAUIQCg5fcmVzb3VyY2VfdHlwZUISChBfcmVzb3VyY2Vfc291cmNlQgkKB19sb2NhbGVCCAoGX2dyb3VwQgYKBF90YWciYgodTGlzdENvbW11bml0eVVzZWNhc2VzUmVzcG9uc2USMgoIdXNlY2FzZXMYASADKAsyIC5zZXNzaW9uLnYxLkNvbW11bml0eVVzZWNhc2VJbmZvEg0KBXRvdGFsGAIgASgDIjoKH0JhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZVJlcXVlc3QSFwoPcmVjb3JkX3VpZF9saXN0GAEgAygJIloKIEJhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEjYKDHVzZWNhc2VfbGlzdBgBIAMoCzIgLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUluZm8iLwobR2V0U2hhcmVkU2Vzc2lvbkZpbGVSZXF1ZXN0EhAKCHNoYXJlX2lkGAEgASgJIpUBChxHZXRTaGFyZWRTZXNzaW9uRmlsZVJlc3BvbnNlEhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRIQCghmaWxlX3VybBgDIAEoCRIRCglmaWxlX25hbWUYBCABKAkSEAoIZWRpdGFibGUYBSABKAgSEwoLc2hhcmVfdGl0bGUYBiABKAkypgQKFFNlc3Npb25QdWJsaWNTZXJ2aWNlElQKDVN1Ym1pdFVzZWNhc2USIC5zZXNzaW9uLnYxLlN1Ym1pdFVzZWNhc2VSZXF1ZXN0GiEuc2Vzc2lvbi52MS5TdWJtaXRVc2VjYXNlUmVzcG9uc2USZgoTTGlzdFVzZWNhc2VTZXNzaW9ucxImLnNlc3Npb24udjEuTGlzdFVzZWNhc2VTZXNzaW9uc1JlcXVlc3QaJy5zZXNzaW9uLnYxLkxpc3RVc2VjYXNlU2Vzc2lvbnNSZXNwb25zZRJsChVMaXN0Q29tbXVuaXR5VXNlY2FzZXMSKC5zZXNzaW9uLnYxLkxpc3RDb21tdW5pdHlVc2VjYXNlc1JlcXVlc3QaKS5zZXNzaW9uLnYxLkxpc3RDb21tdW5pdHlVc2VjYXNlc1Jlc3BvbnNlEnUKGEJhdGNoR2V0Q29tbXVuaXR5VXNlY2FzZRIrLnNlc3Npb24udjEuQmF0Y2hHZXRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBosLnNlc3Npb24udjEuQmF0Y2hHZXRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USawoUR2V0U2hhcmVkU2Vzc2lvbkZpbGUSJy5zZXNzaW9uLnYxLkdldFNoYXJlZFNlc3Npb25GaWxlUmVxdWVzdBooLnNlc3Npb24udjEuR2V0U2hhcmVkU2Vzc2lvbkZpbGVSZXNwb25zZSIAQq4BCg5jb20uc2Vzc2lvbi52MUISU2Vzc2lvblB1YmxpY1Byb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM",[Ye,ee,Hn]),T1=M(K1,0),M1=z("CipzZXNzaW9uL3YxL3Nlc3Npb25fY29sbGFib3JhdF9wdWJsaWMucHJvdG8SCnNlc3Npb24udjEiUwoeTGlzdFB1YmxpY0NvbGxhYm9yYXRvcnNSZXF1ZXN0EiEKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABSACIAQFCDgoMX3Nlc3Npb25fdWlkIoUBChJQdWJsaWNDb2xsYWJvcmF0b3ISDwoHdXNlcl9pZBgBIAEoCRIMCgRuYW1lGAMgASgJEg4KBmF2YXRhchgEIAEoCRIQCghpc19vd25lchgGIAEoCBIuCgZzdGF0dXMYByABKA4yHi5zZXNzaW9uLnYxLkNvbGxhYm9yYXRvclN0YXR1cyJYCh9MaXN0UHVibGljQ29sbGFib3JhdG9yc1Jlc3BvbnNlEjUKDWNvbGxhYm9yYXRvcnMYASADKAsyHi5zZXNzaW9uLnYxLlB1YmxpY0NvbGxhYm9yYXRvcjKXAQofU2Vzc2lvbkNvbGxhYm9yYXRlUHVibGljU2VydmljZRJ0ChdMaXN0UHVibGljQ29sbGFib3JhdG9ycxIqLnNlc3Npb24udjEuTGlzdFB1YmxpY0NvbGxhYm9yYXRvcnNSZXF1ZXN0Gisuc2Vzc2lvbi52MS5MaXN0UHVibGljQ29sbGFib3JhdG9yc1Jlc3BvbnNlIgBCuAEKDmNvbS5zZXNzaW9uLnYxQhxTZXNzaW9uQ29sbGFib3JhdFB1YmxpY1Byb3RvUAFaP2dpdGxhYi5tb25pY2EuY24vdmlkYS9zZGsvYml6c2VydmVyLWdvLmdpdC9zZXNzaW9uL3YxO3Nlc3Npb252MaICA1NYWKoCClNlc3Npb24uVjHKAgpTZXNzaW9uXFYx4gIWU2Vzc2lvblxWMVxHUEJNZXRhZGF0YeoCC1Nlc3Npb246OlYxYgZwcm90bzM",[Ye,Hn]),H1=M(M1,0),D1=z("CiBzZXNzaW9uL3YxL2NvbW11bml0eV9hZG1pbi5wcm90bxIKc2Vzc2lvbi52MSL/BAoVQXVkaXRDb21tdW5pdHlVc2VjYXNlEicKBnN0YXR1cxgBIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXMSDgoGcmVtYXJrGAIgASgJEhMKC3Jldmlld2VyX2lkGAMgASgJEi8KC3Jldmlld2VkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgR0YWdzGAUgAygJEgoKAmlkGAYgASgDEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3VzZXJfaWQYCiABKAkSDQoFZW1haWwYCyABKAkSEgoKcmVjb3JkX3VpZBgMIAEoCRIvCg1yZXNvdXJjZV90eXBlGA0gASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGUSEwoLcmVzb3VyY2VfaWQYDiABKAkSDQoFZ3JvdXAYDyABKAkSDgoGbG9jYWxlGBAgASgJEg4KBmF2YXRhchgRIAEoCRINCgV0aXRsZRgSIAEoCRITCgtkZXNjcmlwdGlvbhgTIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYFCABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEg0KBW9yZGVyGBUgASgFEhIKCmlzX3B1Ymxpc2gYFiABKAgSGAoQcmVjb21tZW5kX3JlYXNvbhgXIAEoCSLbAwoZUmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZRIKCgJpZBgBIAEoAxIMCgR0YWdzGAIgAygJEi4KCmNyZWF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmRlbGV0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3VzZXJfaWQYBiABKAkSEgoKcmVjb3JkX3VpZBgIIAEoCRIvCg1yZXNvdXJjZV90eXBlGAkgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGUSEwoLcmVzb3VyY2VfaWQYCiABKAkSDQoFZ3JvdXAYCyABKAkSDgoGbG9jYWxlGAwgASgJEg4KBmF2YXRhchgNIAEoCRINCgV0aXRsZRgOIAEoCRITCgtkZXNjcmlwdGlvbhgPIAEoCRIzCg9yZXNvdXJjZV9zb3VyY2UYECABKA4yGi5zZXNzaW9uLnYxLlJlc291cmNlU291cmNlEg0KBW9yZGVyGBEgASgFEhIKCmlzX3B1Ymxpc2gYEiABKAgiJwoKVXNlY2FzZVRhZxILCgN1aWQYASABKAkSDAoEbmFtZRgCIAEoCSIpCgxVc2VjYXNlR3JvdXASCwoDdWlkGAEgASgJEgwKBG5hbWUYAiABKAkitwMKIExpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0EgwKBHBhZ2UYASABKAUSEQoJcGFnZV9zaXplGAIgASgFEiwKBnN0YXR1cxgDIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXNIAIgBARI0Cg1yZXNvdXJjZV90eXBlGAQgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAYgBARIYCgtyZXNvdXJjZV9pZBgFIAEoCUgCiAEBEhEKBHVzZXIYBiABKAlIA4gBARIMCgR0YWdzGAcgAygJEhIKBWdyb3VwGAggASgJSASIAQESLgoKb3JkZXJfdHlwZRgJIAEoDjIVLnNlc3Npb24udjEuT3JkZXJUeXBlSAWIAQESFAoHa2V5d29yZBgKIAEoCUgGiAEBEhMKBmxvY2FsZRgLIAEoCUgHiAEBQgkKB19zdGF0dXNCEAoOX3Jlc291cmNlX3R5cGVCDgoMX3Jlc291cmNlX2lkQgcKBV91c2VyQggKBl9ncm91cEINCgtfb3JkZXJfdHlwZUIKCghfa2V5d29yZEIJCgdfbG9jYWxlImMKIUxpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIvCgRsaXN0GAEgAygLMiEuc2Vzc2lvbi52MS5BdWRpdENvbW11bml0eVVzZWNhc2USDQoFdG90YWwYAiABKAUi1AMKJExpc3RSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBIMCgRwYWdlGAEgASgFEhEKCXBhZ2Vfc2l6ZRgCIAEoBRI0Cg1yZXNvdXJjZV90eXBlGAMgASgOMhguc2Vzc2lvbi52MS5SZXNvdXJjZVR5cGVIAIgBARIYCgtyZXNvdXJjZV9pZBgEIAEoCUgBiAEBEhEKBHVzZXIYBSABKAlIAogBARIMCgR0YWdzGAYgAygJEhIKBWdyb3VwGAcgASgJSAOIAQESFwoKaXNfcHVibGlzaBgIIAEoCEgEiAEBEhgKC2lzX2ZlYXR1cmVkGAkgASgISAWIAQESLgoKb3JkZXJfdHlwZRgKIAEoDjIVLnNlc3Npb24udjEuT3JkZXJUeXBlSAaIAQESFAoHa2V5d29yZBgLIAEoCUgHiAEBEhMKBmxvY2FsZRgMIAEoCUgIiAEBQhAKDl9yZXNvdXJjZV90eXBlQg4KDF9yZXNvdXJjZV9pZEIHCgVfdXNlckIICgZfZ3JvdXBCDQoLX2lzX3B1Ymxpc2hCDgoMX2lzX2ZlYXR1cmVkQg0KC19vcmRlcl90eXBlQgoKCF9rZXl3b3JkQgkKB19sb2NhbGUiawolTGlzdFJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIzCgRsaXN0GAEgAygLMiUuc2Vzc2lvbi52MS5SZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlEg0KBXRvdGFsGAIgASgFIqwCCiZVcGRhdGVSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBIKCgJpZBgBIAEoAxISCgVncm91cBgFIAEoCUgAiAEBEgwKBHRhZ3MYBiADKAkSFwoKaXNfcHVibGlzaBgHIAEoCEgBiAEBEhIKBW9yZGVyGAggASgFSAKIAQESEgoFaW1hZ2UYCSABKAlIA4gBARITCgZsb2NhbGUYCiABKAlIBIgBARISCgV0aXRsZRgLIAEoCUgFiAEBEhgKC2Rlc2NyaXB0aW9uGAwgASgJSAaIAQFCCAoGX2dyb3VwQg0KC19pc19wdWJsaXNoQggKBl9vcmRlckIICgZfaW1hZ2VCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uIksKJ1VwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiqwMKIlVwZGF0ZUF1ZGl0Q29tbXVuaXR5VXNlY2FzZVJlcXVlc3QSCgoCaWQYASABKAMSLAoGc3RhdHVzGAIgASgOMhcuc2Vzc2lvbi52MS5BdWRpdFN0YXR1c0gAiAEBEhMKBnJlbWFyaxgDIAEoCUgBiAEBEhgKC3Jldmlld2VyX2lkGAQgASgJSAKIAQESEgoFZ3JvdXAYBSABKAlIA4gBARIMCgR0YWdzGAYgAygJEhcKCmlzX3B1Ymxpc2gYByABKAhIBIgBARISCgVvcmRlchgIIAEoBUgFiAEBEhIKBWltYWdlGAkgASgJSAaIAQESEwoGbG9jYWxlGAogASgJSAeIAQESEgoFdGl0bGUYCyABKAlICIgBARIYCgtkZXNjcmlwdGlvbhgMIAEoCUgJiAEBQgkKB19zdGF0dXNCCQoHX3JlbWFya0IOCgxfcmV2aWV3ZXJfaWRCCAoGX2dyb3VwQg0KC19pc19wdWJsaXNoQggKBl9vcmRlckIICgZfaW1hZ2VCCQoHX2xvY2FsZUIICgZfdGl0bGVCDgoMX2Rlc2NyaXB0aW9uIkcKI1VwZGF0ZUF1ZGl0Q29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSDwoHbWVzc2FnZRgCIAEoCSIeCg5MaXN0VGFnUmVxdWVzdBIMCgR0YWdzGAEgAygJIjcKD0xpc3RUYWdSZXNwb25zZRIkCgR0YWdzGAEgAygLMhYuc2Vzc2lvbi52MS5Vc2VjYXNlVGFnIhIKEExpc3RHcm91cFJlcXVlc3QiPQoRTGlzdEdyb3VwUmVzcG9uc2USKAoGZ3JvdXBzGAEgAygLMhguc2Vzc2lvbi52MS5Vc2VjYXNlR3JvdXAiLgoZR2VuZXJhdGVTY3JlZW5zaG90UmVxdWVzdBIRCglzcGFjZV91aWQYASABKAkiKQoaR2VuZXJhdGVTY3JlZW5zaG90UmVzcG9uc2USCwoDdXJsGAEgASgJIisKHURlbGV0ZUNvbW11bml0eVVzZWNhc2VSZXF1ZXN0EgoKAmlkGAEgASgDIkIKHkRlbGV0ZUNvbW11bml0eVVzZWNhc2VSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEg8KB21lc3NhZ2UYAiABKAkqPAoJT3JkZXJUeXBlEhkKFU9SREVSX1RZUEVfQ1JFQVRFRF9BVBAAEhQKEE9SREVSX1RZUEVfT1JERVIQATKJBwoVQ29tbXVuaXR5QWRtaW5TZXJ2aWNlEoQBCh1MaXN0UmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZRIwLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXF1ZXN0GjEuc2Vzc2lvbi52MS5MaXN0UmVjb21tZW5kQ29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlEngKGUxpc3RBdWRpdENvbW11bml0eVVzZWNhc2USLC5zZXNzaW9uLnYxLkxpc3RBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0Gi0uc2Vzc2lvbi52MS5MaXN0QXVkaXRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USigEKH1VwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2USMi5zZXNzaW9uLnYxLlVwZGF0ZVJlY29tbWVuZENvbW11bml0eVVzZWNhc2VSZXF1ZXN0GjMuc2Vzc2lvbi52MS5VcGRhdGVSZWNvbW1lbmRDb21tdW5pdHlVc2VjYXNlUmVzcG9uc2USfgobVXBkYXRlQXVkaXRDb21tdW5pdHlVc2VjYXNlEi4uc2Vzc2lvbi52MS5VcGRhdGVBdWRpdENvbW11bml0eVVzZWNhc2VSZXF1ZXN0Gi8uc2Vzc2lvbi52MS5VcGRhdGVBdWRpdENvbW11bml0eVVzZWNhc2VSZXNwb25zZRJCCgdMaXN0VGFnEhouc2Vzc2lvbi52MS5MaXN0VGFnUmVxdWVzdBobLnNlc3Npb24udjEuTGlzdFRhZ1Jlc3BvbnNlEmMKEkdlbmVyYXRlU2NyZWVuc2hvdBIlLnNlc3Npb24udjEuR2VuZXJhdGVTY3JlZW5zaG90UmVxdWVzdBomLnNlc3Npb24udjEuR2VuZXJhdGVTY3JlZW5zaG90UmVzcG9uc2USSAoJTGlzdEdyb3VwEhwuc2Vzc2lvbi52MS5MaXN0R3JvdXBSZXF1ZXN0Gh0uc2Vzc2lvbi52MS5MaXN0R3JvdXBSZXNwb25zZRJvChZEZWxldGVDb21tdW5pdHlVc2VjYXNlEikuc2Vzc2lvbi52MS5EZWxldGVDb21tdW5pdHlVc2VjYXNlUmVxdWVzdBoqLnNlc3Npb24udjEuRGVsZXRlQ29tbXVuaXR5VXNlY2FzZVJlc3BvbnNlQq8BCg5jb20uc2Vzc2lvbi52MUITQ29tbXVuaXR5QWRtaW5Qcm90b1ABWj9naXRsYWIubW9uaWNhLmNuL3ZpZGEvc2RrL2JpenNlcnZlci1nby5naXQvc2Vzc2lvbi92MTtzZXNzaW9udjGiAgNTWFiqAgpTZXNzaW9uLlYxygIKU2Vzc2lvblxWMeICFlNlc3Npb25cVjFcR1BCTWV0YWRhdGHqAgtTZXNzaW9uOjpWMWIGcHJvdG8z",[ee,Hn]),_1=M(D1,0),j1=z("ChhzZXNzaW9uL3YxL3Nlc3Npb24ucHJvdG8SCnNlc3Npb24udjEinAEKBFRhc2sSDwoHdGFza19pZBgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIOCgZzdGF0dXMYAyABKAkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimwEKC1NhbmRib3hJbmZvEhIKCnNhbmRib3hfaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEjcKCG1ldGFkYXRhGAMgAygLMiUuc2Vzc2lvbi52MS5TYW5kYm94SW5mby5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJVCghTdGVwUGxhbhIPCgdwbGFuX2lkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEg0KBXN0ZXBzGAMgAygJEhQKDGN1cnJlbnRfc3RlcBgEIAEoBSKFAwoTQWdlbnRTZXNzaW9uUnVudGltZRILCgN1aWQYASABKAkSDwoHdXNlcl9pZBgCIAEoCRIvCg5oYW5kbGVyX3N0b3JlcxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHwoFdGFza3MYBCADKAsyEC5zZXNzaW9uLnYxLlRhc2sSJwoJc3RlcF9wbGFuGAUgASgLMhQuc2Vzc2lvbi52MS5TdGVwUGxhbhIeChZpbnN0YWxsZWRfZGF0YV9hcGlfaWRzGAYgAygJEiYKHmluc3RhbGxlZF9zeXN0ZW1fa25vd2xlZGdlX2lkcxgHIAMoCRItCgxzYW5kYm94X2luZm8YCCABKAsyFy5zZXNzaW9uLnYxLlNhbmRib3hJbmZvEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkYKCEljb25JbmZvEgsKA3VybBgBIAEoCRIWCg5iZ19jb2xvcl9saWdodBgCIAEoCRIVCg1iZ19jb2xvcl9kYXJrGAMgASgJIt0GCgxBZ2VudFNlc3Npb24SCwoDdWlkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkSDQoFdGl0bGUYAyABKAkSDAoEaWNvbhgEIAEoCRI1ChFsYXN0X21lc3NhZ2VfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUbGFzdF9kaXNwbGF5X21lc3NhZ2UYBiABKAkSMAoMbGFzdF9yZWFkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIpCgZzdGF0dXMYCSABKA4yGS5zZXNzaW9uLnYxLlNlc3Npb25TdGF0dXMSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHAoUdW5yZWFkX21lc3NhZ2VfY291bnQYDCABKAUSEwoLaXNfZmF2b3JpdGUYDSABKAgSJwoJaWNvbl9pbmZvGA4gASgLMhQuc2Vzc2lvbi52MS5JY29uSW5mbxIRCglpc19zaGFyZWQYDyABKAgSMgoPYWdlbnRfdGFza19tb2RlGBAgASgOMhkuc2Vzc2lvbi52MS5BZ2VudFRhc2tNb2RlEhYKDmNvc3RlZF9jcmVkaXRzGBEgASgFEhoKEmZlZWRiYWNrX3N1Ym1pdHRlZBgSIAEoCBIeChZwdWJsaXNoZWRfdG9fY29tbXVuaXR5GBYgASgIEhwKD2Rpc3BsYXlfY29udGVudBgTIAEoCUgAiAEBEh0KEGRpc3BsYXlfZXZlbnRfaWQYFCABKAlIAYgBARIaCg1kaXNwbGF5X3RpdGxlGBUgASgJSAKIAQESLwoNY29sbGFib3JhdG9ycxgXIAMoCzIYLnNlc3Npb24udjEuQ29sbGFib3JhdG9yEi0KDGF1ZGl0X3N0YXR1cxgYIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXNCEgoQX2Rpc3BsYXlfY29udGVudEITChFfZGlzcGxheV9ldmVudF9pZEIQCg5fZGlzcGxheV90aXRsZUoECAgQCVIPbGFzdF9yZWFkX2luZGV4IigKEUdldFNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJInEKEkdldFNlc3Npb25SZXNwb25zZRIpCgdzZXNzaW9uGAEgASgLMhguc2Vzc2lvbi52MS5BZ2VudFNlc3Npb24SMAoHcnVudGltZRgCIAEoCzIfLnNlc3Npb24udjEuQWdlbnRTZXNzaW9uUnVudGltZSLqAQoTTGlzdFNlc3Npb25zUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZvZmZzZXQYAiABKAUSDwoHa2V5d29yZBgDIAEoCRIpCgZzdGF0dXMYBCADKA4yGS5zZXNzaW9uLnYxLlNlc3Npb25TdGF0dXMSGAoLaXNfZmF2b3JpdGUYBSABKAhIAIgBARIWCglpc19zaGFyZWQYBiABKAhIAYgBARIoCgVtb2RlcxgHIAMoDjIZLnNlc3Npb24udjEuQWdlbnRUYXNrTW9kZUIOCgxfaXNfZmF2b3JpdGVCDAoKX2lzX3NoYXJlZCJjChRMaXN0U2Vzc2lvbnNSZXNwb25zZRIqCghzZXNzaW9ucxgBIAMoCzIYLnNlc3Npb24udjEuQWdlbnRTZXNzaW9uEhAKCGhhc19uZXh0GAIgASgIEg0KBXRvdGFsGAMgASgDImIKGVVwZGF0ZVJlYWRQb3NpdGlvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSMAoMbGFzdF9yZWFkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCItChpVcGRhdGVSZWFkUG9zaXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIjsKFkZhdm9yaXRlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSDAoEbm90ZRgCIAEoCSIqChdGYXZvcml0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi8KGFVuRmF2b3JpdGVTZXNzaW9uUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCSIsChlVbkZhdm9yaXRlU2Vzc2lvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgirwEKFFVwZGF0ZVNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEg0KBXRpdGxlGAIgASgJEgwKBGljb24YAyABKAkSKQoGc3RhdHVzGAQgASgOMhkuc2Vzc2lvbi52MS5TZXNzaW9uU3RhdHVzEiwKCWljb25faW5mbxgFIAEoCzIULnNlc3Npb24udjEuSWNvbkluZm9IAIgBAUIMCgpfaWNvbl9pbmZvIigKFVVwZGF0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIisKFERlbGV0ZVNlc3Npb25SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIigKFURlbGV0ZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIioKE1NoYXJlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkiJwoUU2hhcmVTZXNzaW9uUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCIsChVVbnNoYXJlU2Vzc2lvblJlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkiKQoWVW5zaGFyZVNlc3Npb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIoQBChZTZXNzaW9uRmVlZGJhY2tSZXF1ZXN0Eh4KBXNjb3JlGAEgASgFQg+6SAwaCjABMAIwAzAEMAUSGQoHY29udGVudBgCIAEoCUIIukgFcgMY0A8SEwoLc2Vzc2lvbl91aWQYAyABKAkSGgoSYWxsb3dfY29sbGVjdF9pbmZvGAQgASgIIi4KF1Nlc3Npb25GZWVkYmFja1Jlc3BvbnNlEhMKC2ZlZWRiYWNrX2lkGAEgASgDIj8KF0dldFRhc2tRdWV1ZUluZm9SZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEg8KB3VzZXJfaWQYAiABKAkipQEKGEdldFRhc2tRdWV1ZUluZm9SZXNwb25zZRIjChtlc3RpbWF0ZWRfd2FpdF90aW1lX21pbnV0ZXMYASABKAUSFAoHbWVzc2FnZRgCIAEoCUgAiAEBEiMKG2VzdGltYXRlZF93YWl0X3RpbWVfc2Vjb25kcxgDIAEoBRIdChVuZXh0X2ludGVydmFsX3NlY29uZHMYBCABKAVCCgoIX21lc3NhZ2UipQIKHExpc3RSZWNvbW1lbmRVc2VjYXNlc1JlcXVlc3QSGAoFbGltaXQYASABKANCCbpIBiIEGGQgABIXCgZvZmZzZXQYAiABKANCB7pIBCICKAASNAoNcmVzb3VyY2VfdHlwZRgDIAEoDjIYLnNlc3Npb24udjEuUmVzb3VyY2VUeXBlSACIAQESOAoPcmVzb3VyY2Vfc291cmNlGAQgASgOMhouc2Vzc2lvbi52MS5SZXNvdXJjZVNvdXJjZUgBiAEBEhMKBmxvY2FsZRgFIAEoCUgCiAEBEhIKBWdyb3VwGAYgASgJSAOIAQFCEAoOX3Jlc291cmNlX3R5cGVCEgoQX3Jlc291cmNlX3NvdXJjZUIJCgdfbG9jYWxlQggKBl9ncm91cCJiCh1MaXN0UmVjb21tZW5kVXNlY2FzZXNSZXNwb25zZRIyCgh1c2VjYXNlcxgBIAMoCzIgLnNlc3Npb24udjEuQ29tbXVuaXR5VXNlY2FzZUluZm8SDQoFdG90YWwYAiABKAMingEKHlNoYXJlU2Vzc2lvblRvQ29tbXVuaXR5UmVxdWVzdBIcCgtzZXNzaW9uX3VpZBgBIAEoCUIHukgEcgIQARIZCgV0aXRsZRgCIAEoCUIKukgHcgUQARj/ARIfCg11c2VyX3F1ZXN0aW9uGAMgASgJQgi6SAVyAxiQThIiChByZWNvbW1lbmRfcmVhc29uGAQgASgJQgi6SAVyAxiQTiI1Ch9TaGFyZVNlc3Npb25Ub0NvbW11bml0eVJlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkiQgoiVW5zaGFyZVNlc3Npb25Gcm9tQ29tbXVuaXR5UmVxdWVzdBIcCgtzZXNzaW9uX3VpZBgBIAEoCUIHukgEcgIQASIlCiNVbnNoYXJlU2Vzc2lvbkZyb21Db21tdW5pdHlSZXNwb25zZSKqAQocU2hhcmVTcGFjZVRvQ29tbXVuaXR5UmVxdWVzdBIaCglzcGFjZV91aWQYASABKAlCB7pIBHICEAESHAoLc2Vzc2lvbl91aWQYAiABKAlCB7pIBHICEAESGQoFdGl0bGUYAyABKAlCCrpIB3IFEAEY/wESEQoJc3BhY2VfdXJsGAQgASgJEiIKEHJlY29tbWVuZF9yZWFzb24YBSABKAlCCLpIBXIDGJBOIjMKHVNoYXJlU3BhY2VUb0NvbW11bml0eVJlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkiXAogVW5zaGFyZVNwYWNlRnJvbUNvbW11bml0eVJlcXVlc3QSGgoJc3BhY2VfdWlkGAEgASgJQge6SARyAhABEhwKC3Nlc3Npb25fdWlkGAIgASgJQge6SARyAhABIiMKIVVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHlSZXNwb25zZSI9Cg1TZWFyY2hSZXF1ZXN0EhwKC3Nlc3Npb25fdWlkGAEgASgJQge6SARyAhABEg4KBnF1ZXJ5cxgCIAMoCSLBAQoMU2VhcmNoUmVzdWx0EhAKCHBvc2l0aW9uGAEgASgDEhUKDXJlZGlyZWN0X2xpbmsYAiABKAkSIQoZc25pcHBldF9oaWdobGlnaHRlZF93b3JkcxgDIAMoCRINCgV0aXRsZRgEIAEoCRIMCgRsaW5rGAUgASgJEhYKDmRpc3BsYXllZF9saW5rGAYgASgJEg8KB2Zhdmljb24YByABKAkSDwoHc25pcHBldBgIIAEoCRIOCgZzb3VyY2UYCSABKAkiPAoRU2VhcmNoUmVzdWx0R3JvdXASJwoFaXRlbXMYASADKAsyGC5zZXNzaW9uLnYxLlNlYXJjaFJlc3VsdCKvAQoOU2VhcmNoUmVzcG9uc2USRwoPb3JnYW5pY19yZXN1bHRzGAEgAygLMi4uc2Vzc2lvbi52MS5TZWFyY2hSZXNwb25zZS5PcmdhbmljUmVzdWx0c0VudHJ5GlQKE09yZ2FuaWNSZXN1bHRzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uc2Vzc2lvbi52MS5TZWFyY2hSZXN1bHRHcm91cDoCOAEiOwokQ29tbXVuaXR5U2Vzc2lvblNoYXJlZFByZXZpZXdSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJIrcBCiVDb21tdW5pdHlTZXNzaW9uU2hhcmVkUHJldmlld1Jlc3BvbnNlEhIKCnJlY29yZF91aWQYASABKAkSEwoLc2Vzc2lvbl91aWQYAiABKAkSDQoFdGl0bGUYAyABKAkSGAoQcmVjb21tZW5kX3JlYXNvbhgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRInCgZzdGF0dXMYBiABKA4yFy5zZXNzaW9uLnYxLkF1ZGl0U3RhdHVzIkwKIkNvbW11bml0eVNwYWNlU2hhcmVkUHJldmlld1JlcXVlc3QSEwoLc2Vzc2lvbl91aWQYASABKAkSEQoJc3BhY2VfdWlkGAIgASgJIrMBCiNDb21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXNwb25zZRISCgpyZWNvcmRfdWlkGAEgASgJEhEKCXNwYWNlX3VpZBgCIAEoCRINCgV0aXRsZRgDIAEoCRIYChByZWNvbW1lbmRfcmVhc29uGAQgASgJEhMKC2Rlc2NyaXB0aW9uGAUgASgJEicKBnN0YXR1cxgGIAEoDjIXLnNlc3Npb24udjEuQXVkaXRTdGF0dXMiQwoWU3luY1Nlc3Npb25GaWxlUmVxdWVzdBIpCgRmaWxlGAEgASgLMhsuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUl0ZW0iGQoXU3luY1Nlc3Npb25GaWxlUmVzcG9uc2UiVwoYVXBkYXRlU2Vzc2lvbkZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRIQCghmaWxlX3VybBgDIAEoCSIbChlVcGRhdGVTZXNzaW9uRmlsZVJlc3BvbnNlIoABChdMaXN0U2Vzc2lvbkZpbGVzUmVxdWVzdBIXCgpzZXNzaW9uX2lkGAEgASgJSACIAQESEwoGc2hhcmVkGAIgASgISAGIAQESDgoGb2Zmc2V0GAMgASgFEg0KBWxpbWl0GAQgASgFQg0KC19zZXNzaW9uX2lkQgkKB19zaGFyZWQiZQoYTGlzdFNlc3Npb25GaWxlc1Jlc3BvbnNlEjoKBWZpbGVzGAEgAygLMisuc2Vzc2lvbi52MS5TZXNzaW9uRmlsZUl0ZW1XaXRoU2Vzc2lvblRpdGxlEg0KBXRvdGFsGAIgASgDIlkKF1NoYXJlU2Vzc2lvbkZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCRITCgtzaGFyZV90aXRsZRgDIAEoCSIsChhTaGFyZVNlc3Npb25GaWxlUmVzcG9uc2USEAoIc2hhcmVfaWQYASABKAkiRgoZVW5zaGFyZVNlc3Npb25GaWxlUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIUCgxzYW5kYm94X3BhdGgYAiABKAkiHAoaVW5zaGFyZVNlc3Npb25GaWxlUmVzcG9uc2UiSwoeR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmxSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCSJGCh9HZXRTZXNzaW9uRmlsZVVwbG9hZFVybFJlc3BvbnNlEhIKCnVwbG9hZF91cmwYASABKAkSDwoHY2RuX3VybBgCIAEoCSJDChZHZXRPcmlnaW5hbEZpbGVSZXF1ZXN0EhMKC3Nlc3Npb25fdWlkGAEgASgJEhQKDHNhbmRib3hfcGF0aBgCIAEoCSIrChdHZXRPcmlnaW5hbEZpbGVSZXNwb25zZRIQCghmaWxlX3VybBgBIAEoCSJHChpSZXN0b3JlT3JpZ2luYWxGaWxlUmVxdWVzdBITCgtzZXNzaW9uX3VpZBgBIAEoCRIUCgxzYW5kYm94X3BhdGgYAiABKAkiHQobUmVzdG9yZU9yaWdpbmFsRmlsZVJlc3BvbnNlInIKI0NyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0EjgKDGNvbnZlcnRfdHlwZRgBIAEoDjIiLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVDb252ZXJ0VHlwZRIRCglmcm9tX3VybHMYAiADKAkibgokQ3JlYXRlU2Vzc2lvbkZpbGVDb252ZXJ0VGFza1Jlc3BvbnNlEhAKCHRhc2tfdWlkGAEgASgJEjQKBnN0YXR1cxgCIAEoDjIkLnNlc3Npb24udjEuU2Vzc2lvbkZpbGVDb252ZXJ0U3RhdHVzIjUKIUxvb3BTZXNzaW9uRmlsZUNvbnZlcnRUYXNrUmVxdWVzdBIQCgh0YXNrX3VpZBgBIAEoCSLIAQoiTG9vcFNlc3Npb25GaWxlQ29udmVydFRhc2tSZXNwb25zZRIQCgh0YXNrX3VpZBgBIAEoCRI0CgZzdGF0dXMYAiABKA4yJC5zZXNzaW9uLnYxLlNlc3Npb25GaWxlQ29udmVydFN0YXR1cxIZCgxzdGF0dXNfZXJyb3IYAyABKAlIAIgBARIPCgd0b191cmxzGAQgAygJEh0KFW5leHRfaW50ZXJ2YWxfc2Vjb25kcxgFIAEoBUIPCg1fc3RhdHVzX2Vycm9yKpEDCg1TZXNzaW9uU3RhdHVzEh4KGlNFU1NJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWU0VTU0lPTl9TVEFUVVNfQ1JFQVRFRBABEhsKF1NFU1NJT05fU1RBVFVTX0FSQ0hJVkVEEAISGgoWU0VTU0lPTl9TVEFUVVNfREVMRVRFRBADEhoKFlNFU1NJT05fU1RBVFVTX1dBSVRJTkcQBRIaChZTRVNTSU9OX1NUQVRVU19SVU5OSU5HEAYSGgoWU0VTU0lPTl9TVEFUVVNfU1RPUFBFRBAHEhgKFFNFU1NJT05fU1RBVFVTX0VSUk9SEAgSGwoXU0VTU0lPTl9TVEFUVVNfSU5fUVVFVUUQCRIzCi9TRVNTSU9OX1NUQVRVU19DT0xMQUJPUkFUSU9OX1BFUk1JU1NJT05fQ0hBTkdFRBAKEiMKH1NFU1NJT05fU1RBVFVTX05FV19DT0xMQUJPUkFUT1IQCxImCiJTRVNTSU9OX1NUQVRVU19SRU1PVkVfQ09MTEFCT1JBVE9SEAwyyhcKDlNlc3Npb25TZXJ2aWNlEk0KCkdldFNlc3Npb24SHS5zZXNzaW9uLnYxLkdldFNlc3Npb25SZXF1ZXN0Gh4uc2Vzc2lvbi52MS5HZXRTZXNzaW9uUmVzcG9uc2UiABJTCgxMaXN0U2Vzc2lvbnMSHy5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uc1JlcXVlc3QaIC5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uc1Jlc3BvbnNlIgASZQoSVXBkYXRlUmVhZFBvc2l0aW9uEiUuc2Vzc2lvbi52MS5VcGRhdGVSZWFkUG9zaXRpb25SZXF1ZXN0GiYuc2Vzc2lvbi52MS5VcGRhdGVSZWFkUG9zaXRpb25SZXNwb25zZSIAElwKD0Zhdm9yaXRlU2Vzc2lvbhIiLnNlc3Npb24udjEuRmF2b3JpdGVTZXNzaW9uUmVxdWVzdBojLnNlc3Npb24udjEuRmF2b3JpdGVTZXNzaW9uUmVzcG9uc2UiABJiChFVbkZhdm9yaXRlU2Vzc2lvbhIkLnNlc3Npb24udjEuVW5GYXZvcml0ZVNlc3Npb25SZXF1ZXN0GiUuc2Vzc2lvbi52MS5VbkZhdm9yaXRlU2Vzc2lvblJlc3BvbnNlIgASVgoNVXBkYXRlU2Vzc2lvbhIgLnNlc3Npb24udjEuVXBkYXRlU2Vzc2lvblJlcXVlc3QaIS5zZXNzaW9uLnYxLlVwZGF0ZVNlc3Npb25SZXNwb25zZSIAElYKDURlbGV0ZVNlc3Npb24SIC5zZXNzaW9uLnYxLkRlbGV0ZVNlc3Npb25SZXF1ZXN0GiEuc2Vzc2lvbi52MS5EZWxldGVTZXNzaW9uUmVzcG9uc2UiABJTCgxTaGFyZVNlc3Npb24SHy5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblJlcXVlc3QaIC5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblJlc3BvbnNlIgASWQoOVW5zaGFyZVNlc3Npb24SIS5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uUmVxdWVzdBoiLnNlc3Npb24udjEuVW5zaGFyZVNlc3Npb25SZXNwb25zZSIAEloKD1Nlc3Npb25GZWVkYmFjaxIiLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrUmVxdWVzdBojLnNlc3Npb24udjEuU2Vzc2lvbkZlZWRiYWNrUmVzcG9uc2USXwoQR2V0VGFza1F1ZXVlSW5mbxIjLnNlc3Npb24udjEuR2V0VGFza1F1ZXVlSW5mb1JlcXVlc3QaJC5zZXNzaW9uLnYxLkdldFRhc2tRdWV1ZUluZm9SZXNwb25zZSIAEmwKFUxpc3RSZWNvbW1lbmRVc2VjYXNlcxIoLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZFVzZWNhc2VzUmVxdWVzdBopLnNlc3Npb24udjEuTGlzdFJlY29tbWVuZFVzZWNhc2VzUmVzcG9uc2USdAoXU2hhcmVTZXNzaW9uVG9Db21tdW5pdHkSKi5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvblRvQ29tbXVuaXR5UmVxdWVzdBorLnNlc3Npb24udjEuU2hhcmVTZXNzaW9uVG9Db21tdW5pdHlSZXNwb25zZSIAEoABChtVbnNoYXJlU2Vzc2lvbkZyb21Db21tdW5pdHkSLi5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRnJvbUNvbW11bml0eVJlcXVlc3QaLy5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRnJvbUNvbW11bml0eVJlc3BvbnNlIgASbgoVU2hhcmVTcGFjZVRvQ29tbXVuaXR5Eiguc2Vzc2lvbi52MS5TaGFyZVNwYWNlVG9Db21tdW5pdHlSZXF1ZXN0Gikuc2Vzc2lvbi52MS5TaGFyZVNwYWNlVG9Db21tdW5pdHlSZXNwb25zZSIAEnoKGVVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHkSLC5zZXNzaW9uLnYxLlVuc2hhcmVTcGFjZUZyb21Db21tdW5pdHlSZXF1ZXN0Gi0uc2Vzc2lvbi52MS5VbnNoYXJlU3BhY2VGcm9tQ29tbXVuaXR5UmVzcG9uc2UiABJBCgZTZWFyY2gSGS5zZXNzaW9uLnYxLlNlYXJjaFJlcXVlc3QaGi5zZXNzaW9uLnYxLlNlYXJjaFJlc3BvbnNlIgAShgEKHUNvbW11bml0eVVzZUNhc2VTaGFyZWRQcmV2aWV3EjAuc2Vzc2lvbi52MS5Db21tdW5pdHlTZXNzaW9uU2hhcmVkUHJldmlld1JlcXVlc3QaMS5zZXNzaW9uLnYxLkNvbW11bml0eVNlc3Npb25TaGFyZWRQcmV2aWV3UmVzcG9uc2UiABKAAQobQ29tbXVuaXR5U3BhY2VTaGFyZWRQcmV2aWV3Ei4uc2Vzc2lvbi52MS5Db21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXF1ZXN0Gi8uc2Vzc2lvbi52MS5Db21tdW5pdHlTcGFjZVNoYXJlZFByZXZpZXdSZXNwb25zZSIAElwKD1N5bmNTZXNzaW9uRmlsZRIiLnNlc3Npb24udjEuU3luY1Nlc3Npb25GaWxlUmVxdWVzdBojLnNlc3Npb24udjEuU3luY1Nlc3Npb25GaWxlUmVzcG9uc2UiABJiChFVcGRhdGVTZXNzaW9uRmlsZRIkLnNlc3Npb24udjEuVXBkYXRlU2Vzc2lvbkZpbGVSZXF1ZXN0GiUuc2Vzc2lvbi52MS5VcGRhdGVTZXNzaW9uRmlsZVJlc3BvbnNlIgASXwoQTGlzdFNlc3Npb25GaWxlcxIjLnNlc3Npb24udjEuTGlzdFNlc3Npb25GaWxlc1JlcXVlc3QaJC5zZXNzaW9uLnYxLkxpc3RTZXNzaW9uRmlsZXNSZXNwb25zZSIAEl8KEFNoYXJlU2Vzc2lvbkZpbGUSIy5zZXNzaW9uLnYxLlNoYXJlU2Vzc2lvbkZpbGVSZXF1ZXN0GiQuc2Vzc2lvbi52MS5TaGFyZVNlc3Npb25GaWxlUmVzcG9uc2UiABJlChJVbnNoYXJlU2Vzc2lvbkZpbGUSJS5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRmlsZVJlcXVlc3QaJi5zZXNzaW9uLnYxLlVuc2hhcmVTZXNzaW9uRmlsZVJlc3BvbnNlIgASdAoXR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmwSKi5zZXNzaW9uLnYxLkdldFNlc3Npb25GaWxlVXBsb2FkVXJsUmVxdWVzdBorLnNlc3Npb24udjEuR2V0U2Vzc2lvbkZpbGVVcGxvYWRVcmxSZXNwb25zZSIAElwKD0dldE9yaWdpbmFsRmlsZRIiLnNlc3Npb24udjEuR2V0T3JpZ2luYWxGaWxlUmVxdWVzdBojLnNlc3Npb24udjEuR2V0T3JpZ2luYWxGaWxlUmVzcG9uc2UiABJoChNSZXN0b3JlT3JpZ2luYWxGaWxlEiYuc2Vzc2lvbi52MS5SZXN0b3JlT3JpZ2luYWxGaWxlUmVxdWVzdBonLnNlc3Npb24udjEuUmVzdG9yZU9yaWdpbmFsRmlsZVJlc3BvbnNlIgASgwEKHENyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2sSLy5zZXNzaW9uLnYxLkNyZWF0ZVNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0GjAuc2Vzc2lvbi52MS5DcmVhdGVTZXNzaW9uRmlsZUNvbnZlcnRUYXNrUmVzcG9uc2UiABJ9ChpMb29wU2Vzc2lvbkZpbGVDb252ZXJ0VGFzaxItLnNlc3Npb24udjEuTG9vcFNlc3Npb25GaWxlQ29udmVydFRhc2tSZXF1ZXN0Gi4uc2Vzc2lvbi52MS5Mb29wU2Vzc2lvbkZpbGVDb252ZXJ0VGFza1Jlc3BvbnNlIgBCqAEKDmNvbS5zZXNzaW9uLnYxQgxTZXNzaW9uUHJvdG9QAVo/Z2l0bGFiLm1vbmljYS5jbi92aWRhL3Nkay9iaXpzZXJ2ZXItZ28uZ2l0L3Nlc3Npb24vdjE7c2Vzc2lvbnYxogIDU1hYqgIKU2Vzc2lvbi5WMcoCClNlc3Npb25cVjHiAhZTZXNzaW9uXFYxXEdQQk1ldGFkYXRh6gILU2Vzc2lvbjo6VjFiBnByb3RvMw",[Ye,He,ee,Hn]),P1=M(j1,0),O1=(t,{handleUnauth:e,beforeRequest:n,handlePermissionDenied:i}={})=>B2({baseUrl:t,interceptors:[l=>async r=>{try{return await(n==null?void 0:n(r.header)),await l(r)}catch(o){throw o instanceof se&&o.code===P.Unauthenticated&&(e==null||e()),o instanceof se&&o.code===P.PermissionDenied&&(i==null||i(o)),o}}]}),$1=(t,e)=>{const n=O1(t,e);return{PlayCard:K(N2,n),PlayCardAdmin:K(Y2,n),I18nTemplateAdminService:K(J2,n),FileService:K(w2,n),AdminFileService:K(z2,n),NotifierService:K(L2,n),NotificationService:K(K2,n),NotificationAdminService:K(M2,n),E2BConfigService:K(D2,n),PublicActivityService:K(j2,n),ActivityAdminService:K(O2,n),LiveEventAdminService:K(q2,n),LiveEventService:K(t1,n),LiveEventPublicService:K(i1,n),UserAuthService:K(l1,n),UserAdminService:K(o1,n),UserPublicService:K(d1,n),UserFeedBackTagAdmin:K(u1,n),SubscriptionService:K(a1,n),UserService:K(h1,n),UserAuthPublicService:K(V1,n),DashboardToolService:K(f1,n),TeamManagementService:K(A1,n),TeamService:K(Z1,n),EduTeamAdminService:K(X1,n),TeamPublicService:K(R1,n),KnowledgeAdminService:K(v1,n),KnowledgeService:K(E1,n),SpacePublicService:K(W1,n),SpaceAdminService:K(N1,n),SpaceService:K(S1,n),ApiProxyAdminService:K(J1,n),ApiProxyService:K(Y1,n),SessionAdminService:K(w1,n),CommunityInteractionService:K(z1,n),SessionCollaborateService:K(L1,n),SessionPublicService:K(T1,n),SessionCollaboratePublicService:K(H1,n),CommunityAdminService:K(_1,n),SessionService:K(P1,n)}},q1=ce.apiHost,Wi=$1(q1,{beforeRequest:async t=>{const e=document.cookie.split(";");let n="";for(let i=0;i{this.hasEditPrivilege=o,this.hasEditPrivilegeReadySource.markReady()},l=async o=>{try{const{accessToken:a}=await Wi.SpacePublicService.getEditSpaceSiteToken({editSpaceCode:o}),c=new URL(window.location.href);let d;const s=c.hostname.split(".");s.shift(),s.length>0&&(d="."+s.join(".")),ti.setCookie(An.accessToken,a,{daysToExpire:365,domain:d}),this.isLogin=!0,i(!0)}catch{ti.deleteCookie(An.accessToken),i(!1);return}finally{this.accessTokenReadySource.markReady()}};if(ti.getCookie(An.accessToken))try{const{canEdit:o}=await Wi.SpaceService.hasSpaceEditPermission({spaceId:ce.spaceId});o?(this.accessTokenReadySource.markReady(),i(!0)):n?await l(n):(this.accessTokenReadySource.markReady(),i(!1)),this.isLogin=!0}catch{ti.deleteCookie(An.accessToken),n?await l(n):(this.accessTokenReadySource.markReady(),i(!1))}else n?await l(n):(this.accessTokenReadySource.markReady(),i(!1))}async ensureHasEditPrivilege(){return await this.hasEditPrivilegeReadySource.waitReady(),this.hasEditPrivilege}async ensureIsLogin(){return await this.accessTokenReadySource.waitReady(),this.isLogin}}const Rt=new ep;class bc{constructor(e,n,i,l){this.destroyed=!1,this.event=e,this.handler=n,this.emitter=i,this.listenBy=l}unregister(){this.emitter.off(this.event,this),this._destroy()}_destroy(){return this.destroyed?!1:(this.handler=null,this.emitter=null,this.destroyed=!0,!0)}}class tp{constructor(){this._events={}}on(e,n){var l;if(!n)throw new TypeError("invalid handler! --EventEmitter");this._events[e]||(this._events[e]=[]);const i=new bc(e,n,this,null);return(l=this._events[e])==null||l.push(i),i}listenBy(e,n,i){var r;if(!i)throw new TypeError("invalid handler! --EventEmitter");this._events[n]||(this._events[n]=[]);const l=new bc(n,i,this,e);return(r=this._events[n])==null||r.push(l),l}once(e,n){const i=this.on(e,l=>{n(l),i.unregister()});return i}emit(e,n=null){if(!this._events[e])return!1;for(const i of this._events[e])i.destroyed||i.handler.call(this,n);return!0}off(e,n){var i,l;if(!this._events[e])return!1;if(n){for(let r=this._events[e],o=0;oc!==a),((l=this._events[e])==null?void 0:l.length)===0&&delete this._events[e],!0}return console.error(n,this),console.error(`Cannot find listener of ${e} --EventEmitter`),!1}for(let r=this._events[e],o=0;ol.listenBy===e?(l._destroy(),!1):!0)}removeAllListeners(){for(const e in this._events){const n=this._events[e];if(n){for(let i=n,l=0;l=S||Le<0||pe&&at>=J}function Ve(){var ne=m();if(x(ne))return q(ne);L=setTimeout(Ve,Ce(ne))}function q(ne){return L=void 0,Se&&B?Ue(ne):(B=v=void 0,w)}function De(){L!==void 0&&clearTimeout(L),$=0,B=O=v=L=void 0}function et(){return L===void 0?w:q(m())}function me(){var ne=m(),Le=x(ne);if(B=arguments,v=this,O=ne,Le){if(L===void 0)return Ee(O);if(pe)return L=setTimeout(Ve,S),Ue(O)}return L===void 0&&(L=setTimeout(Ve,S)),w}return me.cancel=De,me.flush=et,me}function p(I){var S=typeof I;return!!I&&(S=="object"||S=="function")}function A(I){return!!I&&typeof I=="object"}function X(I){return typeof I=="symbol"||A(I)&&h.call(I)==n}function y(I){if(typeof I=="number")return I;if(X(I))return e;if(p(I)){var S=typeof I.valueOf=="function"?I.valueOf():I;I=p(S)?S+"":S}if(typeof I!="string")return I===0?I:+I;I=I.replace(i,"");var G=r.test(I);return G||o.test(I)?a(I.slice(2),G?2:8):l.test(I)?e:+I}return hl=f,hl}var rp=lp();const op=ip(rp),Ps=`.clr-picker { display: none; flex-wrap: wrap; position: absolute; width: 200px; z-index: 1000; border-radius: 10px; background-color: #fff; justify-content: flex-end; direction: ltr; box-shadow: 0 0 5px rgba(0,0,0,.05), 0 5px 20px rgba(0,0,0,.1); -moz-user-select: none; -webkit-user-select: none; user-select: none; } .clr-picker.clr-open, .clr-picker[data-inline="true"] { display: flex; } .clr-picker[data-inline="true"] { position: relative; } .clr-gradient { position: relative; width: 100%; height: 100px; margin-bottom: 15px; border-radius: 3px 3px 0 0; background-image: linear-gradient(rgba(0,0,0,0), #000), linear-gradient(90deg, #fff, currentColor); cursor: pointer; } .clr-marker { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border: 1px solid #fff; border-radius: 50%; background-color: currentColor; cursor: pointer; } .clr-picker input[type="range"]::-webkit-slider-runnable-track { width: 100%; height: 16px; } .clr-picker input[type="range"]::-webkit-slider-thumb { width: 16px; height: 16px; -webkit-appearance: none; } .clr-picker input[type="range"]::-moz-range-track { width: 100%; height: 16px; border: 0; } .clr-picker input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; border: 0; } .clr-hue { background-image: linear-gradient(to right, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%); } .clr-hue, .clr-alpha { position: relative; width: calc(100% - 40px); height: 8px; margin: 5px 20px; border-radius: 4px; } .clr-alpha span { display: block; height: 100%; width: 100%; border-radius: inherit; background-image: linear-gradient(90deg, rgba(0,0,0,0), currentColor); } .clr-hue input[type="range"], .clr-alpha input[type="range"] { position: absolute; width: calc(100% + 32px); height: 16px; left: -16px; top: -4px; margin: 0; background-color: transparent; opacity: 0; cursor: pointer; appearance: none; -webkit-appearance: none; } .clr-hue div, .clr-alpha div { position: absolute; width: 16px; height: 16px; left: 0; top: 50%; margin-left: -8px; transform: translateY(-50%); border: 2px solid #fff; border-radius: 50%; background-color: currentColor; box-shadow: 0 0 1px #888; pointer-events: none; } .clr-alpha div:before { content: ''; position: absolute; height: 100%; width: 100%; left: 0; top: 0; border-radius: 50%; background-color: currentColor; } .clr-format { display: none; order: 1; width: calc(100% - 40px); margin: 0 20px 20px; } .clr-segmented { display: flex; position: relative; width: 100%; margin: 0; padding: 0; border: 1px solid #ddd; border-radius: 15px; box-sizing: border-box; color: #999; font-size: 12px; } .clr-segmented input, .clr-segmented legend { position: absolute; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; left: 0; top: 0; opacity: 0; pointer-events: none; } .clr-segmented label { flex-grow: 1; margin: 0; padding: 4px 0; font-size: inherit; font-weight: normal; line-height: initial; text-align: center; cursor: pointer; } .clr-segmented label:first-of-type { border-radius: 10px 0 0 10px; } .clr-segmented label:last-of-type { border-radius: 0 10px 10px 0; } .clr-segmented input:checked + label { color: #fff; background-color: #666; } .clr-swatches { order: 2; width: calc(100% - 32px); margin: 0 16px; } .clr-swatches div { display: flex; flex-wrap: wrap; padding-bottom: 12px; justify-content: center; } .clr-swatches button { position: relative; width: 20px; height: 20px; margin: 0 4px 6px 4px; padding: 0; border: 0; border-radius: 50%; color: inherit; text-indent: -1000px; white-space: nowrap; overflow: hidden; cursor: pointer; } .clr-swatches button:after { content: ''; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; background-color: currentColor; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); } input.clr-color { order: 1; width: calc(100% - 80px); height: 32px; margin: 15px 20px 20px auto; padding: 0 10px; border: 1px solid #ddd; border-radius: 16px; color: #444; background-color: #fff; font-family: sans-serif; font-size: 14px; text-align: center; box-shadow: none; } input.clr-color:focus { outline: none; border: 1px solid #1e90ff; } .clr-close, .clr-clear { display: none; order: 2; height: 24px; margin: 0 20px 20px; padding: 0 20px; border: 0; border-radius: 12px; color: #fff; background-color: #666; font-family: inherit; font-size: 12px; font-weight: 400; cursor: pointer; } .clr-close { display: block; margin: 0 20px 20px auto; } .clr-preview { position: relative; width: 32px; height: 32px; margin: 15px 0 20px 20px; border-radius: 50%; overflow: hidden; } .clr-preview:before, .clr-preview:after { content: ''; position: absolute; height: 100%; width: 100%; left: 0; top: 0; border: 1px solid #fff; border-radius: 50%; } .clr-preview:after { border: 0; background-color: currentColor; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1); } .clr-preview button { position: absolute; width: 100%; height: 100%; z-index: 1; margin: 0; padding: 0; border: 0; border-radius: 50%; outline-offset: -2px; background-color: transparent; text-indent: -9999px; cursor: pointer; overflow: hidden; } .clr-marker, .clr-hue div, .clr-alpha div, .clr-color { box-sizing: border-box; } .clr-field { display: inline-block; position: relative; color: transparent; } .clr-field input { margin: 0; direction: ltr; } .clr-field.clr-rtl input { text-align: right; } .clr-field button { position: absolute; width: 30px; height: 100%; right: 0; top: 50%; transform: translateY(-50%); margin: 0; padding: 0; border: 0; color: inherit; text-indent: -1000px; white-space: nowrap; overflow: hidden; pointer-events: none; } .clr-field.clr-rtl button { right: auto; left: 0; } .clr-field button:after { content: ''; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; border-radius: inherit; background-color: currentColor; box-shadow: inset 0 0 1px rgba(0,0,0,.5); } .clr-alpha, .clr-alpha div, .clr-swatches button, .clr-preview:before, .clr-field button { background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa); background-position: 0 0, 4px 4px; background-size: 8px 8px; } .clr-marker:focus { outline: none; } .clr-keyboard-nav .clr-marker:focus, .clr-keyboard-nav .clr-hue input:focus + div, .clr-keyboard-nav .clr-alpha input:focus + div, .clr-keyboard-nav .clr-segmented input:focus + label { outline: none; box-shadow: 0 0 0 2px #1e90ff, 0 0 2px 2px #fff; } .clr-picker[data-alpha="false"] .clr-alpha { display: none; } .clr-picker[data-minimal="true"] { padding-top: 16px; } .clr-picker[data-minimal="true"] .clr-gradient, .clr-picker[data-minimal="true"] .clr-hue, .clr-picker[data-minimal="true"] .clr-alpha, .clr-picker[data-minimal="true"] .clr-color, .clr-picker[data-minimal="true"] .clr-preview { display: none; } /** Dark theme **/ .clr-dark { background-color: #444; } .clr-dark .clr-segmented { border-color: #777; } .clr-dark .clr-swatches button:after { box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); } .clr-dark input.clr-color { color: #fff; border-color: #777; background-color: #555; } .clr-dark input.clr-color:focus { border-color: #1e90ff; } .clr-dark .clr-preview:after { box-shadow: inset 0 0 0 1px rgba(255,255,255,.5); } .clr-dark .clr-alpha, .clr-dark .clr-alpha div, .clr-dark .clr-swatches button, .clr-dark .clr-preview:before { background-image: repeating-linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #888 75%, #888), repeating-linear-gradient(45deg, #888 25%, #444 25%, #444 75%, #888 75%, #888); } /** Polaroid theme **/ .clr-picker.clr-polaroid { border-radius: 6px; box-shadow: 0 0 5px rgba(0,0,0,.1), 0 5px 30px rgba(0,0,0,.2); } .clr-picker.clr-polaroid:before { content: ''; display: block; position: absolute; width: 16px; height: 10px; left: 20px; top: -10px; border: solid transparent; border-width: 0 8px 10px 8px; border-bottom-color: currentColor; box-sizing: border-box; color: #fff; filter: drop-shadow(0 -4px 3px rgba(0,0,0,.1)); pointer-events: none; } .clr-picker.clr-polaroid.clr-dark:before { color: #444; } .clr-picker.clr-polaroid.clr-left:before { left: auto; right: 20px; } .clr-picker.clr-polaroid.clr-top:before { top: auto; bottom: -10px; transform: rotateZ(180deg); } .clr-polaroid .clr-gradient { width: calc(100% - 20px); height: 120px; margin: 10px; border-radius: 3px; } .clr-polaroid .clr-hue, .clr-polaroid .clr-alpha { width: calc(100% - 30px); height: 10px; margin: 6px 15px; border-radius: 5px; } .clr-polaroid .clr-hue div, .clr-polaroid .clr-alpha div { box-shadow: 0 0 5px rgba(0,0,0,.2); } .clr-polaroid .clr-format { width: calc(100% - 20px); margin: 0 10px 15px; } .clr-polaroid .clr-swatches { width: calc(100% - 12px); margin: 0 6px; } .clr-polaroid .clr-swatches div { padding-bottom: 10px; } .clr-polaroid .clr-swatches button { width: 22px; height: 22px; } .clr-polaroid input.clr-color { width: calc(100% - 60px); margin: 10px 10px 15px auto; } .clr-polaroid .clr-clear { margin: 0 10px 15px 10px; } .clr-polaroid .clr-close { margin: 0 10px 15px auto; } .clr-polaroid .clr-preview { margin: 10px 0 15px 10px; } /** Large theme **/ .clr-picker.clr-large { width: 275px; } .clr-large .clr-gradient { height: 150px; } .clr-large .clr-swatches button { width: 22px; height: 22px; } /** Pill (horizontal) theme **/ .clr-picker.clr-pill { width: 380px; padding-left: 180px; box-sizing: border-box; } .clr-pill .clr-gradient { position: absolute; width: 180px; height: 100%; left: 0; top: 0; margin-bottom: 0; border-radius: 3px 0 0 3px; } .clr-pill .clr-hue { margin-top: 20px; }`,jt=t=>{var e;return(e=t.textContent)==null?void 0:e.trim()},ap=["video","iframe","audio"],mc="__manus_style-id";class cp{constructor(){this.debugMode=!1,this.editMode="normal",this.debouncedAddPatched=op(e=>{e.forEach(n=>{this.addPatch(n)})},1e3,{leading:!0}),this.originalElementStyle=new Map,this.patchList=[],this.textSplitMode=!0,this._boundHandlePreEditHover=()=>{},this._boundHandlePreEditOut=()=>{},this._boundHandleEditSelect=()=>{},this._boundHandleKeydown=()=>{},this.hoveringElement=null,this.activeElement=null,this.savedElements=new Map,this.filterClasses=[Q.spaceEditorHighlight,Q.virtualTextNode,Q.onlyTextNode,Q.textNodeActive,Q.colorPicker],this.retryPatchIndexList=[]}init(){this.injectGlobalStyle(),this.patchList=ce.patchList??[],this.applyPatches()}initWithoutApplyPatches(){this.injectGlobalStyle(),this.patchList=ce.patchList??[]}destroy(){var e;(e=document.querySelector("#"+mc))==null||e.remove(),this.onExitEdit()}registerViews(e){e.textEditPanelView&&(this.textEditPanelView=e.textEditPanelView),e.elementEditPanelView&&(this.elementEditPanelView=e.elementEditPanelView)}createPatch(e,n){const i=e.classList.contains(Q.virtualTextNode);let l=[];const r=Date.now();if(i){const o=this.getNodeToElementSelector(e);if(o&&!this.patchList.some(c=>c.type==="nodeToElement"&&c.selector===o.selector&&c.nodeIndex===o.nodeIndex)){const c={type:"nodeToElement",nodeIndex:o.nodeIndex,selector:o.selector,timestamp:r};l.push(c)}}if(n==="copy"){const o=e.cloneNode(!0);this.filterClasses.forEach(c=>{o.classList.remove(c)}),o.classList.add(Q.copyNode);const a={type:"copy",selector:this.generateSelector(e),timestamp:Date.now(),outerHtml:o.outerHTML};l.push(a)}else{const o={type:"style",selector:this.generateSelector(e),elementType:e.tagName.toLowerCase(),innerText:i?e.textContent??void 0:e.innerHTML,style:e.getAttribute("style")||"",timestamp:r};l.push(o)}return l}getNodeToElementSelector(e){if(!e.classList.contains(Q.virtualTextNode))return null;const n=e.parentElement;if(!n)return null;const i=this.generateSelector(n);let l=-1;return Array.from(n.childNodes).forEach((r,o)=>{r===e&&(l=o)}),l===-1?null:{selector:i,nodeIndex:l}}generateSelector(e){if(e.id)return`#${e.id}`;function n(r){return r.replace(/:/g,"\\:").replace(/\//g,"\\/").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%").replace(/\./g,"\\.")}let i=[],l=e;for(;l&&l!==document.body&&l!==document.documentElement;){let r=l.tagName.toLowerCase();if(l.className&&typeof l.className=="string"){const o=l.className.split(" ").filter(a=>a&&this.filterClasses.every(c=>c!==a)).map(a=>`.${n(a)}`).join("");o&&(r+=o)}if(l.parentNode){const o=Array.from(l.parentNode.children).filter(c=>!c.closest(`.${Q.virtualTextNode}`)),a=o.indexOf(l)+1;o.length>1&&(r+=`:nth-child(${a})`)}i.unshift(r),l=l.parentNode}return l&&i.unshift(l.tagName.toLowerCase()),i.join(" > ")}addPatch(e){this.patchList.push(e),this.savePatchesToServer(),Un.emit("patchListChange",{})}undoPatch(){if(this.patchList.length>0){const e=this.patchList.pop();if(e){const n=document.querySelector(e.selector);if(n){if(e.type==="nodeToElement"){const i=n.childNodes[e.nodeIndex];if(i&&i instanceof HTMLElement&&i.classList.contains(Q.virtualTextNode)){const l=i.textContent;if(l){const r=document.createTextNode(l);n.replaceChild(i,r)}}}else if((e==null?void 0:e.type)==="style"){let i;for(let r=this.patchList.length-1;r>=0;r--){const o=this.patchList[r];if(o.type==="style"&&o.selector===e.selector){i=o;break}}const l=this.originalElementStyle.get(n);i?(n.setAttribute("style",i.style),n.textContent=i.innerText??""):l&&(n.setAttribute("style",l.style),n.textContent=l.textContent)}else if((e==null?void 0:e.type)==="copy"){const i=document.querySelector(e.selector);i&&i.nextElementSibling instanceof HTMLElement&&(i.nextElementSibling.style.display="none")}}}this.savePatchesToServer()}Un.emit("patchListChange",{})}savePatchesToServer(){try{const e=this.optimizePatches();Wi.SpaceService.saveSpaceSiteRawData({webRawData:JSON.stringify(e),spaceUid:ce.spaceId})}catch(e){console.error(e)}}applyPatches(){if(this.patchList.length!==0){this.retryPatchIndexList=[];for(let e=0;e{const i=[...this.retryPatchIndexList];this.retryPatchIndexList=[],i.forEach(l=>{this.applyPatch(l)}),this.retryPatchIndexList.length===0&&e.disconnect()});e.observe(document.body,{subtree:!0,childList:!0})}applyPatch(e){if(e<0||e>=this.patchList.length)return;const n=this.patchList[e];if(n)try{const i=document.querySelector(n.selector);if(!i){console.warn(`Patch target not found. ${n.selector}`),this.retryPatchIndexList.push(e);return}if(n.type==="style"&&(this.setOriginStyle(i),n.innerText&&(i.classList&&i.classList.contains(Q.virtualTextNode)?i.textContent!==n.innerText&&(i.textContent=n.innerText):i.innerHTML!==n.innerText&&(i.innerHTML=n.innerText)),n.style?(i.getAttribute("style")!==n.style&&i.setAttribute("style",n.style),n.style.includes("display: none")&&i instanceof HTMLElement&&(i.style.display="none")):i.removeAttribute("style")),n.type==="copy"){const l=i.parentNode;if(l){const r=document.createElement("div");r.innerHTML=n.outerHtml;const o=r.children[0];l&&o&&l.insertBefore(o,i.nextSibling)}}if(n.type==="nodeToElement"){const l=i.childNodes.item(n.nodeIndex);if(l&&l.nodeType===Node.TEXT_NODE){const r=document.createElement("span");r.className=Q.virtualTextNode,r.textContent=l.textContent,i.replaceChild(r,l)}}}catch(i){console.error(i)}}restoreToOriginal(){window.location.reload()}toggleEditMode(){this.editMode==="normal"?this.toggleToEditMode():this.toggleToEditMode()}toggleToEditMode(){this.editMode="edit",this.editInit(),document.body.classList.add(Q.editModeActive)}toggleToPreviewMode(){this.editMode="normal",this.onExitEdit(),document.body.classList.remove(Q.editModeActive)}editInit(){this._boundHandlePreEditHover=e=>this.handlePreEditHover(e),this._boundHandlePreEditOut=e=>this.handlePreEditOut(e),this._boundHandleEditSelect=e=>this.handleEditSelect(e),this._boundHandleKeydown=e=>this.handleKeydown(e),document.addEventListener("mouseover",this._boundHandlePreEditHover),document.addEventListener("mouseout",this._boundHandlePreEditOut),document.addEventListener("click",this._boundHandleEditSelect),document.addEventListener("keydown",this._boundHandleKeydown),this.textSplitMode&&this.wrapperTextNode()}handleKeydown(e){const n=e.composedPath()[0];n instanceof HTMLElement&&this.isEditorUIElement(n)||Qm(e)&&this.undoPatch()}onExitEdit(){var e,n;document.removeEventListener("mouseover",this._boundHandlePreEditHover),document.removeEventListener("mouseout",this._boundHandlePreEditOut),document.removeEventListener("click",this._boundHandleEditSelect),document.removeEventListener("keydown",this._boundHandleKeydown),(e=this.textEditPanelView)==null||e.destroy(),(n=this.elementEditPanelView)==null||n.destroy(),this.hoveringElement=null,this.activeElement=null}optimizePatches(){if(this.patchList.length<=1)return this.patchList;const e=[];return this.patchList.forEach(n=>{if(n.type!=="style")e.push(n);else{const i=e.findIndex(l=>l.selector===n.selector);i===-1?e.push(n):e[i]=n}}),e}isEditorUIElement(e){return[`.${Q.spaceControlView}`,`.${Q.textEditorPanelView}`,`.${Q.elementEditorPanelView}`,`.${Q.footerToolbarView}`,`.${Q.colorPicker}`].some(l=>e.closest(l))}handlePreEditHover(e){if(this.editMode!=="edit")return;const n=e.composedPath(),i=n.flatMap(r=>r instanceof HTMLElement?[r]:[]),l=n[0];if(!l||!(l instanceof HTMLElement)||l===document.documentElement||l===document.body)return null;i.some(r=>this.isEditorUIElement(r))||(this.hoveringElement&&this.hoveringElement.classList.remove(Q.spaceEditorHighlight),this.elementEditPanelView.destroy(),this.hoveringElement=l,this.elementEditPanelView.show(l,e),this.setOriginStyle(l))}handlePreEditOut(e){if(this.editMode!=="edit")return;const n=e.composedPath(),i=n.flatMap(o=>o instanceof HTMLElement?[o]:[]),l=n[0];if(!l||!(l instanceof HTMLElement)||i.some(o=>this.isEditorUIElement(o)))return;const r=e.relatedTarget;(r===document.documentElement||r===document.body)&&this.elementEditPanelView.destroy()}handleEditSelect(e){if(this.editMode!=="edit")return;const n=e.target;if(!n||!(n instanceof HTMLElement))return;const i=n.tagName.toLowerCase();ap.includes(i)||this.isEditorUIElement(n)||this.hasDirectTextContent(n)&&(e.stopPropagation(),e.preventDefault(),this.activeElement&&this.activeElement.classList.remove(Q.spaceEditorHighlight),this.activeElement=n,this.setOriginStyle(n),this.textEditPanelView.show(n,e))}wrapperTextNode(){const e=new Set,n=o=>{let a=!1;for(let c=0;c{let a=!1,c=!1;for(let d=0;d["STRONG","EM","U","B","I","MARK","SPAN"].includes(o.tagName),r=o=>{if(!(o.nodeType===Node.ELEMENT_NODE&&o instanceof Element&&this.isEditorUIElement(o))){if(o.nodeType===Node.TEXT_NODE&&jt(o)){if(o.parentNode&&o.parentNode.nodeType===Node.ELEMENT_NODE){const a=o.parentNode;if(!(a instanceof HTMLElement)||l(a)||n(a))return;if(i(a)){e.add(a);const c=document.createElement("span");c.className=Q.virtualTextNode,c.textContent=o.textContent,a.replaceChild(c,o)}}}else if(o.nodeType===Node.ELEMENT_NODE&&o instanceof Element){if(o.classList&&o.classList.contains(Q.virtualTextNode))return;Array.from(o.childNodes).forEach(c=>r(c))}}};r(document.body),e.forEach(o=>{this.savedElements.has(o)||this.savedElements.set(o,o.innerHTML)})}setOriginStyle(e){if(!this.originalElementStyle.has(e)){const n=e.getAttribute("style")||"",i=e.textContent||"";this.originalElementStyle.set(e,{style:n,textContent:i})}}hasDirectTextContent(e){var l,r,o,a;if(["BR","HR","IMG","INPUT","TEXTAREA","SELECT","BUTTON"].includes(e.tagName))return!1;if(e.classList.contains(Q.virtualTextNode))return!!jt(e);let i=!1;for(let c=0;c0){const c=document.createElement("div");for(c.innerHTML=e.innerHTML;c.firstElementChild;)c.removeChild(c.firstElementChild);if((((l=c.textContent)==null?void 0:l.trim())??"")!=="")return!0;let s=!1,u=!1,h=!1;for(let g=0;g50?((l=e.textContent)==null?void 0:l.substring(0,47))+"...":e.textContent})}}/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause */const Os="important",dp=" !"+Os,sp=Kl(class extends Tl{constructor(t){var e;if(super(t),t.type!==Ll.ATTRIBUTE||t.name!=="style"||((e=t.strings)==null?void 0:e.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(t){return Object.keys(t).reduce(((e,n)=>{const i=t[n];return i==null?e:e+`${n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${i};`}),"")}update(t,[e]){const{style:n}=t.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(const i of this.ft)e[i]==null&&(this.ft.delete(i),i.includes("-")?n.removeProperty(i):n[i]=null);for(const i in e){const l=e[i];if(l!=null){this.ft.add(i);const r=typeof l=="string"&&l.endsWith(dp);i.includes("-")||r?n.setProperty(i,r?l.slice(0,-11):l,r?Os:""):n[i]=l}}return Kt}});var we=(t=>(t.BOLD="bold",t.ITALIC="italic",t.UNDERLINE="underline",t.COLOR="color",t.COPY="copy",t.DELETE="delete",t))(we||{});const up=[{type:"bold",label:"Bold"},{type:"italic",label:"Italic"},{type:"underline",label:"Underline"},{type:"color"},{type:"copy"},{type:"delete"}];class ye{constructor(e,n){this.targetElement=e,this.se=n}static isTextBolded(e){return e==="bold"||e==="700"}static isTextUnderlined(e){return e==="underline"}static isTextItalic(e){return e==="italic"}static isDomDeleted(e){return e==="none"}handleQuickActionClick(e,n){const i=a=>{var d;const c=(d=this.se.originalElementStyle.get(this.targetElement))==null?void 0:d.style;if(c){const s=document.createElement("div");return s.style.cssText=c,s.style[a]}return null},l=getComputedStyle(this.targetElement),r=this.targetElement.cloneNode();r.style="";const o=getComputedStyle(r);switch(e){case"bold":{if(ye.isTextBolded(l.fontWeight)){const a=i("fontWeight");a?ye.isTextBolded(a)?this.targetElement.style.fontWeight="normal":this.targetElement.style.fontWeight=a:ye.isTextBolded(o.fontWeight)?this.targetElement.style.removeProperty("font-weight"):this.targetElement.style.fontWeight="normal"}else this.targetElement.style.fontWeight="bold";break}case"underline":{if(ye.isTextUnderlined(l.textDecorationLine)){const a=i("textDecorationLine");a?ye.isTextUnderlined(a)?this.targetElement.style.textDecorationLine="none":this.targetElement.style.textDecorationLine=a:ye.isTextUnderlined(o.textDecorationLine)?this.targetElement.style.removeProperty("text-decoration-line"):this.targetElement.style.textDecorationLine="none"}else this.targetElement.style.textDecorationLine="underline";break}case"italic":{if(ye.isTextItalic(l.fontStyle)){const a=i("fontStyle");a?ye.isTextItalic(a)?this.targetElement.style.fontStyle="normal":this.targetElement.style.fontStyle=a:ye.isTextItalic(o.fontStyle)?this.targetElement.style.removeProperty("font-style"):this.targetElement.style.fontStyle="normal"}else this.targetElement.style.fontStyle="italic";break}case"delete":{if(ye.isDomDeleted(l.display)){const a=i("display");a?ye.isDomDeleted(a)?this.targetElement.style.display="":this.targetElement.style.display=a:ye.isDomDeleted(o.display)?this.targetElement.style.removeProperty("display"):this.targetElement.style.display=""}else this.targetElement.style.display="none";break}case"color":{n&&(this.targetElement.style.color=n);break}}}updateTextContent(e){const n=this.targetElement;n.classList.contains(Q.virtualTextNode)?n.textContent=e:this.updateElementTextWithFormattingPreserved(n,e),e.trim()&&n.style.display==="none"&&(n.style.display="")}copyElement(e){if(e)try{const n=e.parentNode;if(!n){console.error("无法复制元素: 未找到父元素");return}const i=e.cloneNode(!0);return i instanceof HTMLElement?(i.id&&i.removeAttribute("id"),i.style.display==="none"&&(i.style.display=""),i.classList.add(Q.copyNode),e.nextSibling?n.insertBefore(i,e.nextSibling):n.appendChild(i),i):void 0}catch(n){console.error(n)}}removeFormatting(e,n){for(const i of n)e.querySelectorAll(i).forEach(r=>{var d;const o=r.innerHTML,a=r.getAttribute("style")||"",c=document.createElement("span");if(c.innerHTML=o,i.toLowerCase()==="strong"||i.toLowerCase()==="b"?c.style.fontWeight="bold":i.toLowerCase()==="em"||i.toLowerCase()==="i"?c.style.fontStyle="italic":i.toLowerCase()==="u"&&(c.style.textDecoration="underline"),a){const s=c.getAttribute("style")||"";c.setAttribute("style",`${s}; ${a}`)}(d=r.parentNode)==null||d.replaceChild(c,r)})}updateElementTextWithFormattingPreserved(e,n){e.querySelector("strong, em, u, b, i")&&this.removeFormatting(e,["strong","em","u","b","i"]),e.textContent=n}}function rt(t){return`element-edit-panel-view-${t}`}class gp extends Ht{constructor(e,n){super(e),this.se=n,this.opacity=0,this.handleCloseWhenEscape=i=>{i.key==="Escape"&&this.destroy()},this.handleClickOutside=i=>{const l=i.composedPath();l[0]!==this.triggerEl&&(!this.panelEl||!l.includes(this.panelEl))&&this.destroy()},this.isMounted=!1}get template(){return D`
`}show(e,n){this.triggerEl=e,this.isMounted=!0,this.render(),setTimeout(()=>{this.opacity=1,this.render()},0),this.panelEl&&(this.panelEl.setAnchor(this.triggerEl),this.panelEl.open(n)),this.se.hasDirectTextContent(this.triggerEl)?this.triggerEl.classList.add(Q.onlyTextNode):this.triggerEl.classList.add(Q.spaceEditorHighlight),this.domEditor=new ye(e,this.se),document.addEventListener("keydown",this.handleCloseWhenEscape),document.addEventListener("mousedown",this.handleClickOutside)}destroy(){this.isMounted&&(document.removeEventListener("keydown",this.handleCloseWhenEscape),document.removeEventListener("mousedown",this.handleClickOutside),this.triggerEl.classList.remove(Q.spaceEditorHighlight),this.triggerEl.classList.remove(Q.onlyTextNode),this.opacity=0,this.render(),super.destroy(),this.isMounted=!1)}handleQuickActionClick(e){const n=e===we.COPY;if(n){if(!this.domEditor.copyElement(this.triggerEl))return}else this.domEditor.handleQuickActionClick(e);const i=this.se.createPatch(this.triggerEl,n?"copy":void 0);i&&this.se.debouncedAddPatched(i),this.destroy()}handleSetRootRef(e){e instanceof Ql&&(this.panelEl=e)}}const Zt=(()=>{/*! * Copyright (c) 2021-2024 Momo Bassit. * Licensed under the MIT License (MIT) * https://github.com/mdbassit/Coloris * Version: 0.24.0 * NPM: https://github.com/melloware/coloris-npm */return((t,e,n,i)=>{const l=e.createElement("canvas").getContext("2d"),r={r:0,g:0,b:0,h:0,s:0,v:0,a:1};let o,a,c,d,s,u,h,g,b,m,f,p,A,X,y,I,S={};const G={el:"[data-coloris]",parent:"body",theme:"default",themeMode:"light",rtl:!1,wrap:!0,margin:2,format:"hex",formatToggle:!1,swatches:[],swatchesOnly:!1,alpha:!0,forceAlpha:!1,focusInput:!0,selectInput:!1,inline:!1,defaultColor:"#000000",clearButton:!1,clearLabel:"Clear",closeButton:!1,closeLabel:"Close",onChange:()=>i,a11y:{open:"Open color picker",close:"Close color picker",clear:"Clear the selected color",marker:"Saturation: {s}. Brightness: {v}.",hueSlider:"Hue slider",alphaSlider:"Opacity slider",input:"Color value field",format:"Color format",swatch:"Color swatch",instruction:"Saturation and brightness selector. Use up, down, left and right arrow keys to select."}},B={};let v="",J={},w=!1;function L(V){if(typeof V=="object")for(const R in V)switch(R){case"el":Se(V.el),V.wrap!==!1&&Ce(V.el);break;case"parent":o=V.parent instanceof HTMLElement?V.parent:e.querySelector(V.parent),o&&(o.appendChild(a),G.parent=V.parent,o===e.body&&(o=i));break;case"themeMode":G.themeMode=V.themeMode,V.themeMode==="auto"&&t.matchMedia&&t.matchMedia("(prefers-color-scheme: dark)").matches&&(G.themeMode="dark");case"theme":V.theme&&(G.theme=V.theme),a.className=`clr-picker clr-${G.theme} clr-${G.themeMode}`,G.inline&&Ee();break;case"rtl":G.rtl=!!V.rtl,Array.from(Ti().getElementsByClassName("clr-field")).forEach(Y=>Y.classList.toggle("clr-rtl",G.rtl));break;case"margin":V.margin*=1,G.margin=isNaN(V.margin)?G.margin:V.margin;break;case"wrap":V.el&&V.wrap&&Ce(V.el);break;case"formatToggle":G.formatToggle=!!V.formatToggle,Ke("clr-format").style.display=G.formatToggle?"block":"none",G.formatToggle&&(G.format="auto");break;case"swatches":if(Array.isArray(V.swatches)){const Y=Ke("clr-swatches"),j=e.createElement("div");Y.textContent="",V.swatches.forEach((le,Ze)=>{const te=e.createElement("button");te.setAttribute("type","button"),te.setAttribute("id",`clr-swatch-${Ze}`),te.setAttribute("aria-labelledby",`clr-swatch-label clr-swatch-${Ze}`),te.style.color=le,te.textContent=le,j.appendChild(te)}),V.swatches.length&&Y.appendChild(j),G.swatches=V.swatches.slice()}break;case"swatchesOnly":G.swatchesOnly=!!V.swatchesOnly,a.setAttribute("data-minimal",G.swatchesOnly);break;case"alpha":G.alpha=!!V.alpha,a.setAttribute("data-alpha",G.alpha);break;case"inline":if(G.inline=!!V.inline,a.setAttribute("data-inline",G.inline),G.inline){const Y=V.defaultColor||G.defaultColor;X=et(Y),Ee(),De(Y)}break;case"clearButton":typeof V.clearButton=="object"&&(V.clearButton.label&&(G.clearLabel=V.clearButton.label,h.innerHTML=G.clearLabel),V.clearButton=V.clearButton.show),G.clearButton=!!V.clearButton,h.style.display=G.clearButton?"block":"none";break;case"clearLabel":G.clearLabel=V.clearLabel,h.innerHTML=G.clearLabel;break;case"closeButton":G.closeButton=!!V.closeButton,G.closeButton?a.insertBefore(g,s):s.appendChild(g);break;case"closeLabel":G.closeLabel=V.closeLabel,g.innerHTML=G.closeLabel;break;case"a11y":const E=V.a11y;let F=!1;if(typeof E=="object")for(const Y in E)E[Y]&&G.a11y[Y]&&(G.a11y[Y]=E[Y],F=!0);if(F){const Y=Ke("clr-open-label"),j=Ke("clr-swatch-label");Y.innerHTML=G.a11y.open,j.innerHTML=G.a11y.swatch,g.setAttribute("aria-label",G.a11y.close),h.setAttribute("aria-label",G.a11y.clear),b.setAttribute("aria-label",G.a11y.hueSlider),f.setAttribute("aria-label",G.a11y.alphaSlider),u.setAttribute("aria-label",G.a11y.input),c.setAttribute("aria-label",G.a11y.instruction)}break;default:G[R]=V[R]}}function O(V,R){typeof V=="string"&&typeof R=="object"&&(B[V]=R,w=!0)}function $(V){delete B[V],Object.keys(B).length===0&&(w=!1,V===v&&pe())}function Ae(V){if(w){const R=["el","wrap","rtl","inline","defaultColor","a11y"];for(let E in B){const F=B[E];if(V.matches(E)){v=E,J={},R.forEach(Y=>delete F[Y]);for(let Y in F)J[Y]=Array.isArray(G[Y])?G[Y].slice():G[Y];L(F);break}}}}function pe(){Object.keys(J).length>0&&(L(J),v="",J={})}function Se(V){V instanceof HTMLElement&&(V=[V]),Array.isArray(V)?V.forEach(R=>{ie(R,"click",Ue),ie(R,"input",Ve)}):(ie(e,"click",V,Ue),ie(e,"input",V,Ve))}function Ue(V){G.inline||(Ae(V.target),A=V.target,y=A.value,X=et(y),a.classList.add("clr-open"),Ee(),De(y),(G.focusInput||G.selectInput)&&(u.focus({preventScroll:!0}),u.setSelectionRange(A.selectionStart,A.selectionEnd)),G.selectInput&&u.select(),(I||G.swatchesOnly)&&Yr().shift().focus(),A.dispatchEvent(new Event("open",{bubbles:!0})))}function Ee(){if(!a||!A&&!G.inline)return;const V=o,R=t.scrollY,E=a.offsetWidth,F=a.offsetHeight,Y={left:!1,top:!1};let j,le,Ze,te={x:0,y:0};if(V&&(j=t.getComputedStyle(V),le=parseFloat(j.marginTop),Ze=parseFloat(j.borderTopWidth),te=V.getBoundingClientRect(),te.y+=Ze+R),!G.inline){const je=A.getBoundingClientRect();let Et=je.x,Yt=R+je.y+je.height+G.margin;V?(Et-=te.x,Yt-=te.y,Et+E>V.clientWidth&&(Et+=je.width-E,Y.left=!0),Yt+F>V.clientHeight-le&&F+G.margin<=je.top-(te.y-R)&&(Yt-=je.height+F+G.margin*2,Y.top=!0),Yt+=V.scrollTop):(Et+E>e.documentElement.clientWidth&&(Et+=je.width-E,Y.left=!0),Yt+F-R>e.documentElement.clientHeight&&F+G.margin<=je.top&&(Yt=R+je.y-F-G.margin,Y.top=!0)),a.classList.toggle("clr-left",Y.left),a.classList.toggle("clr-top",Y.top),a.style.left=`${Et}px`,a.style.top=`${Yt}px`,te.x+=a.offsetLeft,te.y+=a.offsetTop}S={width:c.offsetWidth,height:c.offsetHeight,x:c.offsetLeft+te.x,y:c.offsetTop+te.y}}function Ce(V){V instanceof HTMLElement?x(V):Array.isArray(V)?V.forEach(x):e.querySelectorAll(V).forEach(x)}function x(V){const R=V.parentNode;if(!R.classList.contains("clr-field")){const E=e.createElement("div");let F="clr-field";(G.rtl||V.classList.contains("clr-rtl"))&&(F+=" clr-rtl"),E.innerHTML='',R.insertBefore(E,V),E.className=F,E.style.color=V.value,E.appendChild(V)}}function Ve(V){const R=V.target.parentNode;R.classList.contains("clr-field")&&(R.style.color=V.target.value)}function q(V){if(A&&!G.inline){const R=A;V&&(A=i,y!==R.value&&(R.value=y,R.dispatchEvent(new Event("input",{bubbles:!0})))),setTimeout(()=>{y!==R.value&&R.dispatchEvent(new Event("change",{bubbles:!0}))}),a.classList.remove("clr-open"),w&&pe(),R.dispatchEvent(new Event("close",{bubbles:!0})),G.focusInput&&R.focus({preventScroll:!0}),A=i}}function De(V){const R=lu(V),E=iu(R);Le(E.s,E.v),Dn(R,E),b.value=E.h,a.style.color=`hsl(${E.h}, 100%, 50%)`,m.style.left=`${E.h/360*100}%`,d.style.left=`${S.width*E.s/100}px`,d.style.top=`${S.height-S.height*E.v/100}px`,f.value=E.a*100,p.style.left=`${E.a*100}%`}function et(V){const R=V.substring(0,3).toLowerCase();return R==="rgb"||R==="hsl"?R:"hex"}function me(V){V=V!==i?V:u.value,A&&(A.value=V,A.dispatchEvent(new Event("input",{bubbles:!0}))),G.onChange&&G.onChange.call(t,V,A),e.dispatchEvent(new CustomEvent("coloris:pick",{detail:{color:V,currentEl:A}}))}function ne(V,R){const E={h:b.value*1,s:V/S.width*100,v:100-R/S.height*100,a:f.value/100},F=tu(E);Le(E.s,E.v),Dn(F,E),me()}function Le(V,R){let E=G.a11y.marker;V=V.toFixed(1)*1,R=R.toFixed(1)*1,E=E.replace("{s}",V),E=E.replace("{v}",R),d.setAttribute("aria-label",E)}function at(V){return{pageX:V.changedTouches?V.changedTouches[0].pageX:V.pageX,pageY:V.changedTouches?V.changedTouches[0].pageY:V.pageY}}function _e(V){const R=at(V);let E=R.pageX-S.x,F=R.pageY-S.y;o&&(F+=o.scrollTop),gt(E,F),V.preventDefault(),V.stopPropagation()}function un(V,R){let E=d.style.left.replace("px","")*1+V,F=d.style.top.replace("px","")*1+R;gt(E,F)}function gt(V,R){V=V<0?0:V>S.width?S.width:V,R=R<0?0:R>S.height?S.height:R,d.style.left=`${V}px`,d.style.top=`${R}px`,ne(V,R),d.focus()}function Dn(V,R){V===void 0&&(V={}),R===void 0&&(R={});let E=G.format;for(const Ze in V)r[Ze]=V[Ze];for(const Ze in R)r[Ze]=R[Ze];const F=ru(r),Y=F.substring(0,7);switch(d.style.color=Y,p.parentNode.style.color=Y,p.style.color=F,s.style.color=F,c.style.display="none",c.offsetHeight,c.style.display="",p.nextElementSibling.style.display="none",p.nextElementSibling.offsetHeight,p.nextElementSibling.style.display="",E==="mixed"?E=r.a===1?"hex":"rgb":E==="auto"&&(E=X),E){case"hex":u.value=F;break;case"rgb":u.value=ou(r);break;case"hsl":u.value=au(nu(r));break}var j=typeof G.parent=="object"?G.parent:e;const le=j.querySelector(`.clr-format [value="${E}"]`);le&&(le.checked=!0)}function qs(){const V=b.value*1,R=d.style.left.replace("px","")*1,E=d.style.top.replace("px","")*1;a.style.color=`hsl(${V}, 100%, 50%)`,m.style.left=`${V/360*100}%`,ne(R,E)}function eu(){const V=f.value/100;p.style.left=`${V*100}%`,Dn({a:V}),me()}function tu(V){const R=V.s/100,E=V.v/100;let F=R*E,Y=V.h/60,j=F*(1-n.abs(Y%2-1)),le=E-F;F=F+le,j=j+le;const Ze=n.floor(Y)%6,te=[F,j,le,le,j,F][Ze],je=[j,F,F,j,le,le][Ze],Et=[le,le,j,F,F,j][Ze];return{r:n.round(te*255),g:n.round(je*255),b:n.round(Et*255),a:V.a}}function nu(V){const R=V.v/100,E=R*(1-V.s/100/2);let F;return E>0&&E<1&&(F=n.round((R-E)/n.min(E,1-E)*100)),{h:V.h,s:F||0,l:n.round(E*100),a:V.a}}function iu(V){const R=V.r/255,E=V.g/255,F=V.b/255,Y=n.max(R,E,F),j=n.min(R,E,F),le=Y-j,Ze=Y;let te=0,je=0;return le&&(Y===R&&(te=(E-F)/le),Y===E&&(te=2+(F-R)/le),Y===F&&(te=4+(R-E)/le),Y&&(je=le/Y)),te=n.floor(te*60),{h:te<0?te+360:te,s:n.round(je*100),v:n.round(Ze*100),a:V.a}}function lu(V){const R=/^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i;let E,F;return l.fillStyle="#000",l.fillStyle=V,E=R.exec(l.fillStyle),E?F={r:E[3]*1,g:E[4]*1,b:E[5]*1,a:E[6]*1}:(E=l.fillStyle.replace("#","").match(/.{2}/g).map(Y=>parseInt(Y,16)),F={r:E[0],g:E[1],b:E[2],a:1}),F}function ru(V){let R=V.r.toString(16),E=V.g.toString(16),F=V.b.toString(16),Y="";if(V.r<16&&(R="0"+R),V.g<16&&(E="0"+E),V.b<16&&(F="0"+F),G.alpha&&(V.a<1||G.forceAlpha)){const j=V.a*255|0;Y=j.toString(16),j<16&&(Y="0"+Y)}return"#"+R+E+F+Y}function ou(V){return!G.alpha||V.a===1&&!G.forceAlpha?`rgb(${V.r}, ${V.g}, ${V.b})`:`rgba(${V.r}, ${V.g}, ${V.b}, ${V.a})`}function au(V){return!G.alpha||V.a===1&&!G.forceAlpha?`hsl(${V.h}, ${V.s}%, ${V.l}%)`:`hsla(${V.h}, ${V.s}%, ${V.l}%, ${V.a})`}function cu(){Ti().querySelector("#clr-picker")||(o=i,a=e.createElement("div"),a.setAttribute("id","clr-picker"),a.className="clr-picker",a.innerHTML=`
${G.a11y.format}
`,e.body.appendChild(a),c=Ke("clr-color-area"),d=Ke("clr-color-marker"),h=Ke("clr-clear"),g=Ke("clr-close"),s=Ke("clr-color-preview"),u=Ke("clr-color-value"),b=Ke("clr-hue-slider"),m=Ke("clr-hue-marker"),f=Ke("clr-alpha-slider"),p=Ke("clr-alpha-marker"),Se(G.el),Ce(G.el),ie(a,"mousedown",V=>{a.classList.remove("clr-keyboard-nav"),V.stopPropagation()}),ie(c,"mousedown",V=>{ie(e,"mousemove",_e)}),ie(c,"contextmenu",V=>{V.preventDefault()}),ie(c,"touchstart",V=>{e.addEventListener("touchmove",_e,{passive:!1})}),ie(d,"mousedown",V=>{ie(e,"mousemove",_e)}),ie(d,"touchstart",V=>{e.addEventListener("touchmove",_e,{passive:!1})}),ie(u,"change",V=>{const R=u.value;if(A||G.inline){const E=R===""?R:De(R);me(E)}}),ie(h,"click",V=>{me(""),q()}),ie(g,"click",V=>{me(),q()}),ie(Ke("clr-format"),"click",".clr-format input",V=>{X=V.target.value,Dn(),me()}),ie(a,"click",".clr-swatches button",V=>{De(V.target.textContent),me(),G.swatchesOnly&&q()}),ie(e,"mouseup",V=>{e.removeEventListener("mousemove",_e)}),ie(e,"touchend",V=>{e.removeEventListener("touchmove",_e)}),ie(e,"mousedown",V=>{I=!1,a.classList.remove("clr-keyboard-nav"),q()}),ie(e,"keydown",V=>{const R=V.key,E=V.target,F=V.shiftKey;if(R==="Escape"?q(!0):["Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(R)&&(I=!0,a.classList.add("clr-keyboard-nav")),R==="Tab"&&E.matches(".clr-picker *")){const j=Yr(),le=j.shift(),Ze=j.pop();F&&E===le?(Ze.focus(),V.preventDefault()):!F&&E===Ze&&(le.focus(),V.preventDefault())}}),ie(e,"click",".clr-field button",V=>{w&&pe(),V.target.nextElementSibling.dispatchEvent(new Event("click",{bubbles:!0}))}),ie(d,"keydown",V=>{const R={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]};Object.keys(R).includes(V.key)&&(un(...R[V.key]),V.preventDefault())}),ie(c,"click",_e),ie(b,"input",qs),ie(f,"input",eu))}function Yr(){return Array.from(a.querySelectorAll("input, button")).filter(E=>!!E.offsetWidth)}function Ke(V){var R=Ti();return R.querySelector("#"+V)}function Ti(){return typeof G.parent=="object"?G.parent:e}function ie(V,R,E,F){const Y=Element.prototype.matches||Element.prototype.msMatchesSelector;typeof E=="string"?V.addEventListener(R,j=>{Y.call(j.target,E)&&F.call(j.target,j)}):(F=E,V.addEventListener(R,F))}function _n(V,R){R=R!==i?R:[],e.readyState!=="loading"?V(...R):e.addEventListener("DOMContentLoaded",()=>{V(...R)})}NodeList!==i&&NodeList.prototype&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach);function du(V,R){A=R,y=A.value,Ae(R),X=et(V),Ee(),De(V),me(),y!==V&&A.dispatchEvent(new Event("change",{bubbles:!0}))}const Mi=(()=>{const V={init:cu,set:L,wrap:Ce,close:q,setInstance:O,setColor:du,removeInstance:$,updatePosition:Ee,ready:_n};function R(E){_n(()=>{E&&(typeof E=="string"?Se(E):L(E))})}for(const E in V)R[E]=function(){for(var F=arguments.length,Y=new Array(F),j=0;j{t.addEventListener("resize",E=>{R.updatePosition()}),t.addEventListener("scroll",E=>{R.updatePosition()})}),R})();return Mi.coloris=Mi,Mi})(window,document,Math)})();Zt.coloris;Zt.init;Zt.set;Zt.wrap;Zt.close;Zt.setInstance;Zt.removeInstance;Zt.updatePosition;function Ge(t){return`text-edit-panel-view-${t}`}class hp extends Ht{constructor(e,n){super(e),this.se=n,this.textContent="",this.currentTextColor="",this.handleCloseWhenEscape=i=>{i.key==="Escape"&&this.destroy()},this.handleClickOutside=i=>{const l=i.composedPath();(!this.panelEl||!l.includes(this.panelEl))&&this.destroy()},this.handleColorChange=i=>{const l=i.detail.color;this.domEditor.handleQuickActionClick(we.COLOR,l);const r=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(r),this.currentTextColor=l,this.render()}}get template(){return D`
${up.filter(e=>e.type!==we.DELETE&&e.type!==we.COPY).map(({type:e,label:n})=>{const i=()=>{if(e===we.BOLD)return D`${Zu}`;if(e===we.ITALIC)return D`${Xu}`;if(e===we.UNDERLINE)return D`${Gu}`;if(e===we.COLOR)return D`${Iu(this.currentTextColor)}`},l=()=>{if(!this.triggerEl)return!1;const r=this.triggerEl.cloneNode(!0);[Q.spaceEditorHighlight,Q.onlyTextNode,Q.textNodeActive].forEach(c=>{r.classList.remove(c)}),r.classList.add(Q.hidden),document.body.appendChild(r);const a=getComputedStyle(r);return setTimeout(()=>{document.body.removeChild(r)},0),e===we.BOLD?ye.isTextBolded(a.fontWeight):e===we.ITALIC?ye.isTextItalic(a.fontStyle):e===we.UNDERLINE?ye.isTextUnderlined(a.textDecorationLine):!1};return e===we.COLOR?D``:D``})}
`}show(e,n){this.triggerEl=e,this.textContent=e.textContent??"",this.currentTextColor=getComputedStyle(e).color,this.render(),this.panelEl&&(this.panelEl.setAnchor(this.triggerEl),this.panelEl.open(n)),this.triggerEl.classList.add(Q.textNodeActive),this.domEditor=new ye(e,this.se),document.addEventListener("keydown",this.handleCloseWhenEscape),document.addEventListener("mousedown",this.handleClickOutside),document.addEventListener("coloris:pick",this.handleColorChange)}destroy(){var e;document.removeEventListener("keydown",this.handleCloseWhenEscape),document.removeEventListener("mousedown",this.handleClickOutside),document.removeEventListener("coloris:pick",this.handleColorChange),(e=this.triggerEl)==null||e.classList.remove(Q.textNodeActive),super.destroy()}handleQuickActionClick(e){this.domEditor.handleQuickActionClick(e);const n=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(n),e===we.DELETE&&this.destroy(),this.render()}handleInput(e){const n=e.target;if(n instanceof HTMLTextAreaElement){this.textContent=n.value,this.render(),this.domEditor.updateTextContent(this.textContent);const i=this.se.createPatch(this.triggerEl);this.se.debouncedAddPatched(i)}}handleSetRootRef(e){e instanceof Ql&&(this.panelEl=e)}handleInitColorPicker(e){e instanceof HTMLInputElement&&(Zt.init(),Zt.coloris({el:e,alpha:!0,swatches:["#FFF","#000000","#FF0001","#FF5100","#FFC700","#00B336","#00CBFF","#65BAFF","#B400D8","#86A3AB","#4F5559"]}))}}function T(t){return`footer-toolbar-${t}`}class bp extends Ht{constructor(e){super(e,!1),this.container=e,this.hasPrivilege=!1,this.isRestoring=!1,this.isShowHistoryBtn=!1,this.isPopoverVisible=!1,this.init()}get template(){if(!this.hasPrivilege||ce.isWebDev)return ce.hideBadge?D``:window.top!==window.self?D``:D``;const e=()=>{if(tt.viewType==="history"){const n=D`this.handleSetDialogRef(i))} title="Restore to this version?">

This will overwrite existing content and affect the current task.

`;return D`
${n}`}return D`
${this.isShowHistoryBtn?D`
${Wu}
`:""}
${this.isPopoverVisible?D`
${vu} Restore original version
`:""} `};return D`
${e()}
`}handleRestore(){var e;(e=this.dialogRef)==null||e.show()}async handleRestoreConfirm(){var e,n,i;if(!this.isRestoring)try{this.isRestoring=!0,this.render(),await Wi.SpaceService.restoreOriginalSite({spaceUid:ce.spaceId}),(e=this.se)==null||e.restoreToOriginal(),(n=this.dialogRef)==null||n.close(),tt.setViewType(tt.prevViewType),tt.viewType!=="edit"&&((i=this.se)==null||i.toggleToPreviewMode())}catch{}finally{this.isRestoring=!1,this.render()}}async init(){const e=new cp;this.se=e;const n=new URL(window.location.href);let i="default";n.searchParams.get("edit")==="1"?i="edit":n.searchParams.get("history")==="1"&&(i="history"),this.updateIsShowHistoryBtn();const l=async()=>new Promise(o=>{i==="history"?(e.initWithoutApplyPatches(),Wl(["history"]),this.isShowHistoryBtn&&tt.setViewType("history"),o(!0)):Tm()&&ce.patchList.length>0?(document.body.style.opacity="0",Mm().then(()=>{e.init(),document.body.style.opacity="1",o(!0)})):(e.init(),o(!0))});let r=!1;ce.patchList.length>0&&(await l(),r=!0);try{i==="edit"&&(this.hasPrivilege=!0,e.toggleEditMode(),tt.setViewType("edit"),this.render()),Wl(["edit"])}catch{}if(this.hasPrivilege=await Rt.ensureHasEditPrivilege(),this.render(),this.hasPrivilege){r||await l(),i==="edit"?zt.showToast({title:"You're now editing - all changes auto-save",variant:"success"}):i==="history"&&zt.showToast({title:"Switched to original version",variant:"success"}),Un.listenBy(this,"onViewTypeChange",()=>{this.render()}),Un.listenBy(this,"patchListChange",()=>{this.updateIsShowHistoryBtn(),this.render()});const o=document.createElement("div");o.classList.add(Q.textEditorPanelView);const a=document.createElement("div");a.classList.add(Q.elementEditorPanelView),this.container.appendChild(a),this.container.appendChild(o);const c=new hp(o,e),d=new gp(a,e);e.registerViews({textEditPanelView:c,elementEditPanelView:d})}else e.toggleToPreviewMode(),tt.setViewType("default")}destroy(){var e;this.removeClickOutsideListener(),(e=this.se)==null||e.destroy(),super.destroy()}handleViewOriginVersion(){const e=new URL(window.location.href);e.searchParams.append("history","1"),window.location.href=e.toString()}handleExitOriginVersion(){const e=new URL(window.location.href);e.searchParams.delete("history"),window.location.href=e.toString()}handleToggleEditMode(){this.se&&(tt.viewType==="default"?(tt.setViewType("edit"),this.se.toggleEditMode(),zt.showToast({title:"You're now editing - all changes auto-save",variant:"success"}),Qt({eventName:"edit_click",extData:{type:"space"}})):(tt.setViewType("default"),this.se.toggleToPreviewMode()))}handleSetDialogRef(e){e instanceof Ni&&(this.dialogRef=e)}updateIsShowHistoryBtn(){this.isShowHistoryBtn=(ce.patchList.length??0)>0}handleTogglePopover(){this.isPopoverVisible=!this.isPopoverVisible,this.isPopoverVisible?this.addClickOutsideListener():this.removeClickOutsideListener(),this.render()}addClickOutsideListener(){this.removeClickOutsideListener(),this.clickOutsideHandler=e=>{e.composedPath()[0].closest(`.${T("container")}`)||(this.isPopoverVisible=!1,this.removeClickOutsideListener(),this.render())},document.addEventListener("click",this.clickOutsideHandler)}removeClickOutsideListener(){this.clickOutsideHandler&&(document.removeEventListener("click",this.clickOutsideHandler),this.clickOutsideHandler=void 0)}}let oi;class Vp extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const e=this.shadowRoot,n=document.createElement("div");n.id=fi,yc.setDialogRoot(n),zt.initRoot(n),e.appendChild(n);const i=document.createElement("style");i.textContent=`${Pu} `,n.appendChild(i),n.appendChild(document.createElement("billing-banner")),oi=new bp(n),Qt({eventName:"session_file_view",extData:{type:"space"}}),Qt({eventName:"manus_space_show"})}disconnectedCallback(){oi==null||oi.destroy()}}function Pe(t){return`footer-watermark-${t}`}class $s extends Ht{get template(){return D` this.handleSetDialogRef(e))} title="Hide Manus badge" width="358px">

This sign indicates that the website contains AI-generated content, and each user can manually turn off this label.

${Rt.isLogin?D` `:D` `}
`}constructor(){const e=yc.getDialogRoot(),n=document.createElement("div");e.appendChild(n),super(n)}handleClose(e){var n;e.stopPropagation(),(n=this.onClose)==null||n.call(this)}show(){var e;this.render(),(e=this.dialogRef)==null||e.show()}handleSetDialogRef(e){e instanceof Ni&&(this.dialogRef=e)}}class mp{constructor(){this.isClosed=!1}init(){this.isClosed=localStorage.getItem(ua.embedClosed)==="true"}closeWatermark(){localStorage.setItem(ua.embedClosed,"true"),this.isClosed=!0,Qt({eventName:"manus_watermark_close"})}openWebapp(){Qt({eventName:"manus_watermark_click"}),window.open(`${ce.host}?utm_source=manusspace`,"_blank")}onMounted(){Qt({eventName:"manus_watermark_show"})}}const bt=new mp;function We(t){return`footer-watermark-${t}`}class fp extends Ht{constructor(e){super(e),this.container=e,bt.init(),this.render()}get template(){return D` this.handleSetDialogRef(e))} title="Made with Manus" width="358px">

AI-generated (possibly user-edited) content - please verify carefully and submit no personal information.

If you believe this content violates your rights or applicable laws, you may submit a report for review.

this.handleClick()} style=${bt.isClosed?"display: none;":""} > ${Rc(20)} Made with Manus this.handleClose(e)}>${Fu}
`}connectedCallback(){bt.onMounted()}handleCreateMyWebsite(){bt.openWebapp()}async handleClick(){var n;await Rt.ensureIsLogin()?this.openCloseConfirmDialog():(n=this.dialogRef)==null||n.show(),Qt({eventName:"manus_watermark_click"})}async handleClose(e){e.stopPropagation(),await Rt.ensureIsLogin()?this.openCloseConfirmDialog():this.confirmClose()}handleSetDialogRef(e){e instanceof Ni&&(this.dialogRef=e)}openCloseConfirmDialog(){const e=new $s;e.onClose=()=>{this.confirmClose(),e.destroy()},e.show()}confirmClose(){bt.closeWatermark(),this.render()}}function Be(t){return`footer-watermark-${t}`}class Ap extends Ht{constructor(e){super(e),this.container=e,bt.init(),this.render(),Rt.ensureIsLogin().then(()=>{this.render()})}get template(){return bt.isClosed?D``:D`
this.handleClick()} > ${Rc(20)} Made with Manus this.handleClose(e)}>${Su(20)} ${Rt.isLogin?D``:D`
e.stopPropagation()}>

AI-generated (possibly user-edited) content - please verify carefully and submit no personal information. If you believe this content violates your rights or applicable laws, you may submit a report for review.

`}
`}connectedCallback(){bt.onMounted()}async handleClick(){await Rt.ensureIsLogin()?this.openCloseConfirmDialog():bt.openWebapp()}async handleClose(e){e.stopPropagation(),await Rt.ensureIsLogin()?this.openCloseConfirmDialog():this.confirmClose()}openCloseConfirmDialog(){const e=new $s;e.onClose=()=>{this.confirmClose(),e.destroy()},e.show()}confirmClose(){bt.closeWatermark(),this.render()}}class pp extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const e=this.shadowRoot,n=document.createElement("div");e==null||e.appendChild(n),Lm()?new fp(n):new Ap(n)}}const Zp="This site may be paused or limited due to a billing issue. Site admins can restore access by updating billing in Manus.",Gp=D` `;class Xp extends HTMLElement{constructor(){super(...arguments),this.isNotifying=!1}connectedCallback(){this.renderView()}get shouldShow(){return ce.usageStatus===pi.BANNER_ENABLE_AUTOTOPUP||ce.usageStatus===pi.BANNER_ADJUST_SPENDING_LIMIT}get template(){return this.shouldShow?D`
${Gp}

${Zp}

`:ae}renderView(){Wt(this.template,this)}async handleNotifyOwner(){if(!this.isNotifying){this.isNotifying=!0,this.renderView();try{const e=`${ce.apiHost}/user.v1.UserPublicService/WebdevInsufficientBalanceNotify`;(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:ce.spaceId})})).ok?zt.showToast({title:"Notification sent to the owner",variant:"success"}):zt.showToast({title:"Failed to notify owner",variant:"error"})}catch{zt.showToast({title:"Failed to notify owner",variant:"error"})}finally{this.isNotifying=!1,this.renderView()}}}}customElements.define("lit-checkbox",Yu);customElements.define("lit-textarea",Lu);customElements.define("lit-popup",Ql);customElements.define("lit-dialog",Ni);customElements.define("manus-content-root",Vp);customElements.define("footer-watermark",pp);customElements.define("billing-banner",Xp);Rt.initAccessToken();Km(()=>{new MutationObserver(()=>{document.querySelector("manus-content-root")||document.body.appendChild(document.createElement("manus-content-root"))}).observe(document.body,{childList:!0,subtree:!0})});